1 registered members (AbrahamR),
717
guests, and 4
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
floats darstellen?
#422382
05/08/13 17:40
05/08/13 17:40
|
Joined: Jan 2011
Posts: 27 Hamburg
Olchi
OP
Newbie
|
OP
Newbie
Joined: Jan 2011
Posts: 27
Hamburg
|
hallo in meinem Spiel muß ich zig Zahlen auf einem Panel darstellen, die meistens größer als 1 Million sind. Folglich kann ich sie nicht als var deklarieren um sie mittels digits darzustellen. Nun möchte ich wissen wie ich diese Zahlen auf einem Panel anzeigen kann, ich bin völlig durcheinander mit "string...text...usw" Ich benötige vieleicht ein ausführliches Code-Beispiel, angefangen bei der richtigen Deklaratin, Konvertierung als String, um letztlich mit Text anzuzeigen... die richtige Reihenfolge ist mir auch wichtig. Kann mir da jemand helfenß Gruß von Olchi.
Last edited by Olchi; 05/08/13 17:41.
arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
|
|
|
Re: floats darstellen?
[Re: Kartoffel]
#422398
05/09/13 09:54
05/09/13 09:54
|
Joined: Jan 2011
Posts: 27 Hamburg
Olchi
OP
Newbie
|
OP
Newbie
Joined: Jan 2011
Posts: 27
Hamburg
|
hallo Kartoffel deine Antwort ist nicht sehr präziese... Ich habe zum Test ein paar VARs deklariert und damit gerechnet. Wenn diese vars in einem digit anzeige geht es etwa bis zur Größe unter 2 Mio gut, daruberhinaus wird nur Blödsinn angezeigt. Die 3. Kommastelle wird von vornherein nicht richtigt dargestellt... Daher noch einmal meine Frage: wie kann ich Zahlen im Größenbereich ca 10.000.000,000 (Zehnmillionen) auf einem Panel anzeigen? Ich vermute das geht mit float, umwandeln in String dann mit text anzeigen... benötige aber Hilfe dabei. Gruß von Olchi
arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
|
|
|
Re: floats darstellen?
[Re: Olchi]
#422399
05/09/13 10:18
05/09/13 10:18
|
Joined: Aug 2002
Posts: 3,258 Mainz
oliver2s
Expert
|
Expert
Joined: Aug 2002
Posts: 3,258
Mainz
|
Dazu brauchst du nen Hilfs-String, und das ganze geht dann so:
STRING* helperStr="";
double zehnmillionen_=10000000;
str_cpy(helperStr,str_for_float(NULL,(double)zehnmillionen_));
pan_setstring(myPanel,1,0,0,myFont,helperStr);
|
|
|
Re: floats darstellen?
[Re: oliver2s]
#422404
05/09/13 12:06
05/09/13 12:06
|
Joined: Jan 2011
Posts: 27 Hamburg
Olchi
OP
Newbie
|
OP
Newbie
Joined: Jan 2011
Posts: 27
Hamburg
|
hallo oliver2s mit deiner Antwort kann ich schon mehr mit anfangen.... hast du noch einen Tip wie ich mir viel Tiparbeit ersparen kann bei ca 80 zahlen die ich an unterschiedlichen Positionen anzeigen will?? ein kleines Beispiel:
float zahl_A = 1.000.000; var zahl_B = 8.45; float zahl_C; /////// weitere ca 80 Deklarationen von Variablen, die aber auch in Blöcken zusammen gelegt werden können.
function Beispielrechnung() { zahl_c = zahl_A * zahl_B; }
PANEL* Testpanel = { Pos_x.... bmap....
und hier zeige zahl_C an Position xy relativ zum Panel .... }
Eine Erklärung wäre super Gruß von Olchi
Last edited by Olchi; 05/09/13 12:11.
arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
|
|
|
Re: floats darstellen?
[Re: MasterQ32]
#422407
05/09/13 13:25
05/09/13 13:25
|
Joined: Jan 2011
Posts: 27 Hamburg
Olchi
OP
Newbie
|
OP
Newbie
Joined: Jan 2011
Posts: 27
Hamburg
|
hallo MasterQ32 ich habe alle testrechnungen mit zahlen die als var deklariert sind gemacht und parallel dazu die gleichen Rechnungen mit zahlen als float deklariert, wenn ich dann diese in einem digit-Element anzeige kommt totaler Blödsin heraus... Gruß von Olchi
arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
|
|
|
Re: floats darstellen?
[Re: MasterQ32]
#422408
05/09/13 13:31
05/09/13 13:31
|
Joined: Aug 2002
Posts: 3,258 Mainz
oliver2s
Expert
|
Expert
Joined: Aug 2002
Posts: 3,258
Mainz
|
@MasterQ32: digits funktionieren nur mir var, dort kann man keine float oder double verwenden. @Olchi: du könntest das folgendermaßen lösen:
float zahl_A = 1.000.000;
var zahl_B = 8.45;
float zahl_C;
/////// weitere ca 80 Deklarationen von Variablen, die aber auch in Blöcken zusammen gelegt werden können.
STRING* helpStr1=""; //Hilfestring für Digit
function Beispielrechnung()
{
zahl_c = zahl_A * zahl_B;
//wandle float-Zahl in String um
str_for_float(helpStr1,zahl_c);
}
PANEL* Testpanel =
{
Pos_x....
bmap....
//und hier zeige zahl_C an Position xy relativ zum Panel
digits(0,0,0,*,1,helpStr1);//Hilfstring statt Variable
}
Anstatt einer Variablen in der Digit-Deklaration wird ein String verwendet. In diesem String kannst du die Float-Variable mit dem Befehel "str_for_float" speichern. Du brauchst allerdings für jede Digit-Deklaration einen eigenen String.
|
|
|
Re: floats darstellen?
[Re: oliver2s]
#422415
05/09/13 17:53
05/09/13 17:53
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
@MasterQ32: Ja, das meinte ich eigentlich digits funktionieren nur mir var, dort kann man keine float oder double verwenden. komisch... normalerweise ist die %f formatierung für einen float
POTATO-MAN saves the day! - Random
|
|
|
|