Float funktioniert nicht mehr richtig/ Geteilt ergibt 0 ????
Übersicht

xXThunderXxBetreff: Float funktioniert nicht mehr richtig/ Geteilt ergibt 0 ???? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Ich habe folgens prob. Ich programmiere gerade an meinem Online RPG und jetzt wollte ich eine Lebensanzeige machen jedoch funktionirt # nicht mehr. Wenn ich 10 / 3 mache kommt 3.0 raus statt 3.333 woran kann das liegen. Code: [AUSKLAPPEN] leben_anzeige1# = 10 / 3 Print leben_anzeige1# leben_anzeige1# = leben_anzeige1# * 3 Print leben_anzeige1# hir kommt 3.0 bei mir raus statt 3.33 Code: [AUSKLAPPEN] gamer(0)\leben_max = 300 gamer(0)\leben = 250 leben_anzeige1# = (gamer(0)\leben / gamer(0)\leben_max) * 100 Text 128,128,""+leben_anzeige1# Color 255,0,0 Rect 32,32,leben_anzeige1#,20 hir kommt 0.0 raus warum ???? Kann mir jemand helfen!!!!!!! |
||
- Zuletzt bearbeitet von xXThunderXx am Mi, Mai 27, 2009 12:00, insgesamt einmal bearbeitet
DjDETE |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zu Code 1:
Code: [AUSKLAPPEN] leben_anzeige1# = 10 / 3.
Zu Code 2: Code: [AUSKLAPPEN] leben_anzeige1# = (gamer(0)\leben / float(gamer(0)\leben_max)) * 100
Du musst auch mit Floats rechnen um Floats rauszubekommen. MfG DeTe |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
Krischan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Am besten immer so schreiben (gibt mehrere Varianten), wenn es sich um Floatwerte handelt:
10.0/3 10/3.0 10/3*1.0 |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, dieses Float /Integer Problem taucht immer wieder mal auf, aber mit Erfahrung erkennt man schon schnell wo das Problem liegt.
Wieso das so ist weiß ich nicht, aber ich habe gelernt damit umzugehen. Wie schon geschrieben steht, muß man manchmal die dezimal Zahlen mit Float() erzwingen. Manchmal muß ich sogar als Trick bei Umrechnungen temporäre Variablen einführen. Das ist dann der Fall, wenn eine Berechnung in dezimal Zahlen erfolgen muß aber die Ausgangs- und Endwerte sind oder sollen ganze Zahlen sein. Mit Float() und Int() kriegt man das hin. Beachte auch Floor und Ceil, die sind manchmal genau das Richtige. (Die sidn zwar für Rundungen, aber es hat was damit zu tun.) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group