Veröffentlicht 20. November 200816 j 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 20. November 200816 j von Hüsi
20. November 200816 j 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.
20. November 200816 j Autor 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.
20. November 200816 j 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 20. November 200816 j von Pointerman Code zugefuegt
20. November 200816 j Autor das wars, danke vielmals! hatte irgendwie gedacht, dass String.format nur auf Strings angewandt werden kann.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.