Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo > > > > ich habe folgendes Problem: > > Ich will in einer long Variablen die verstrichenen Sekunden des laufendende Tages ablegen, bekomme > > dabei aber keine sinnvollen Werte. > > > > Mein Quelltext sieht folgendermaßen aus: > > > > <code> > > long jetzt_Zeit; > > int hour,minute,second; > > > > hour = system.hour(); > > minute = system.minute(); > > second = system.second(); > > jetzt_Zeit = hour*3600 + minute* 60 + second; > > </code> > > > > Als ergebnis bekomme ich Werte wie: -30777 > > > > Was mache ich falsch? > > > > Vielen Dank im vorraus > > > > Alexander > > > > Hallo Alexander, > > falsch ist relativ. Du machst nichts falsch. > Die Berechnung wird komplett im Integer-Bereich durchgeführt. Den Compiler interessiert nicht, > ob Du das Ergebnis gerne als Long möchtest. > Um den Compiler zu überreden, diese Operation im Long-Bereich durchzuführen, > muß ein Operand bereits Long sein. > Hilfreich wäre hier z.B. eine Hilfsvariable vom Typ long, die Du addierst. > > <code> > long jetzt_Zeit,helper; > int hour,minute,second; > helper=0; > > hour = system.hour(); > minute = system.minute(); > second = system.second(); > jetzt_Zeit = hour*3600 + minute* 60 + second+helper; > </code> > > Gruß krassos