Siehste, mehr Informationen helfen den Helfern. Wenn Du alles als double verwendest, dann bin ich mit meinem TimeSpan-Hinweis fehl am Platze. Aber arj's Hinweis passt.
Nach Deiner Eingangsfrage vermute ich, dass die
double-Variable time auf die Einheit "Minuten" ausgerichtet ist. Daraus solltest Du eine
int-Variable machen, damit die Vorteile der int-Division zum Tragen kommen. Dann benutzt Du die normale
String.Format()-Methode mit genauer Angabe des gewünschten Formats:
C#-Quelltext
1: 2:
| int minutes = (int)time; labTIME.Text = String.Format("{0} Stunde/n {1} Minuten", minutes / 60, minutes % 60); |
Zur Erläuterung: Bei Integers liefert die normale
Division einen int-Wert (ggf. abgerundet); was
modulo macht, ist hoffentlich bekannt. Zu
String.Format() bietet die
SDK-Doku viele zusätzliche Hinweise.
Zitat: |
wie kann ich das nun in so eine TimeSpan geschichte eingringen? |
Das geht schon, man muss nur in der
SDK-Doku nachlesen, welche Varianten es für den
Konstruktor gibt, darunter:
C#-Quelltext
1:
| TimeSpan timeDiff = new TimeSpan(0, (int)time, 0); |
Aber dieser Weg lohnt sich bei Deinem Vorgehen über double nicht.
Allgemeine Hinweise: Die
Convert-Methoden sollten möglichst nicht benutzt werden. Wenn aus einem Wert ein String werden soll, ist
ToString() die Standardmethode; dabei gibt es oft auch Möglichkeiten der Formatierung (z.B. bei DateTime), die es bei Convert.ToString() nicht gibt. Wenn aus einem String ein "anderer" Wert werden soll, sind Methoden wie
Parse, ParseExact, TryParse, TryParseExact (sofern vorhanden) entschieden besser.
Und wie ich schon zur
SDK-Doku schrieb:
Zitat: |
diese sollte sowieso das wichtigste Hilfsmittel sein - vor allen Foren. |
Gruß Jürgen