Zum Inhalt springen

[C#] String.Format Problem mit Variablen


Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo zusammen,

versuch mich gerade ein wenig an C# und bastle gerade eine Stopuhr. Bei der Formatierung der Anzeige habe ich ein Problem mit führenden Nullen.

Wollte das Ganze mit String.Format lösen, habe allerdings das Problem, dass das String.Format nur genau solange funktioniert, bis ich anstatt einer Zahl die Variable einfüge:

String.Format("{0:D2}", 2) liefert wie gewünscht 02

String.Format("{0:D2}", minutes) liefert solange minutes einstellig ist auch nur einstellig die Ausgabe.

Wo ist mein Denkfehler?

Bearbeitet von Hüsi
Geschrieben

Moin!

Ich konnte Dein Problem nicht ganz nachvollziehen.

Ich habe mir einfach mal ein kleines Testprojekt erstellt, mit einem Button und einem Label. Im OnClick des Button steht:


int bla = 2;
label1.Text = String.Format("{0:D2}", bla);
[/PHP]

Wie nicht anders erwartet ;) steht danach "02" im Label.

Welchen Typ hat denn dein "minutes"? Vielleicht liegt es ja daran.

Geschrieben

die einzelnen Variablen habe ich als String definiert

private string minutes = "", seconds ="", milliseconds="";
und fülle Sie folgendermaßen:
minutes = ((timer / 60 / 60).ToString());

seconds = (timer / 60 %60).ToString();

milliseconds = (timer %60).ToString();
das Label fütter ich so:
label1.Text = String.Format("{0:D2}", minutes) + ":" + String.Format("{0:D2}", seconds) + ":" + String.Format("{0:D2}", milliseconds);

timer selbst ist Integer.

Geschrieben (bearbeitet)

Dann versuch doch einfach mal String.Format mit den Integer-Werten, statt den Strings zu fuettern.

D.h. deklariere minutes, seconds und milliseconds als integer und lass dann die Umwandlung in den String weg. Dann sollte es funktionieren.


//mit dem (int) vor der Berechnung bin ich mir nicht 100%ig sicher, aber ich meine man muss casten, da er ja FP-Zahlen erhaelt.
int minutes = (int)(timer / 60 / 60);
int seconds = (int)(timer / 60 %60);
int milliseconds = (int)(timer %60);

label1.Text = String.Format("{0:D2}", minutes) + ":" + String.Format("{0:D2}", seconds) + ":" + String.Format("{0:D2}", milliseconds);
[/PHP]

Bearbeitet von Pointerman
Code zugefuegt

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...