![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#11 | |
Veteran
![]() Registriert seit: 07.01.2002
Alter: 44
Beiträge: 268
|
![]() Zitat:
Code:
dNeueZahl = (double) ((int) (zahl * 100) + 5) / 100; |
|
![]() |
![]() |
![]() |
#12 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() verstehe ich nicht, verfolg das doch mal:
zahl * 100 ergibt 123456.789 dann machst daraus nen integer, wird also 123456 dann +5, also 123461 dann machst ein double daraus, also 123461.0 und dann /100, also 1234.61 stimmt aber nicht, es sollte 1234.57 rauskommen, das wäre korrekt auf 2 stellen gerunden.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
![]() |
![]() |
![]() |
#13 | |
Veteran
![]() Registriert seit: 07.01.2002
Alter: 44
Beiträge: 268
|
![]() Zitat:
dann halt: dNeueZahl = (double) ((int) (zahl * 100 + 0.5)) / 100; 1234.56789 * 100 = 123456.789 123456.789 + 0.5 = 123457.289 int ( 123457.289 ) = 123457 123457/100 = 1234.57 hab mich um eine kommastelle vertan... |
|
![]() |
![]() |
![]() |
#14 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() ja, jetzt passts. aber... wieso grad 0.5, wie bist du da drauf gekommen?
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
![]() |
![]() |
![]() |
#15 |
Veteran
![]() |
![]() wenn man es mit (int) castet, dann wird es ja nicht gerundet, sondern es werden einfach die kommastellen weggelassen, oder? in Math gibt es sicher was mit dem du es runden kannst, wenn du z.b. jbuilder von borland verwendest, müsste der dir eigentlich das zeug anzeigen wenn du Math. schreibst.
wenn du den string nimmst mit dem du das unformatierst, kannst du ja den string wieder in double umwandeln, mit doble.parseDouble(zahlstring), oder?
____________________________________
Wenn Null ganz besonders gross ist, ist es schon fast so viel wie ein kleines bisschen Eins... - (Kommentar zum Thema Rundungsfehler bei Fliesskommazahlen). ![]() |
![]() |
![]() |
![]() |
#16 | |
Veteran
![]() Registriert seit: 07.01.2002
Alter: 44
Beiträge: 268
|
![]() Zitat:
beispiele: 1.34 gerundet = 1.3 1.35 gerundet = 1.4 dh. ab .5 wird die vorige stelle aufgerundet. na, was muss man dann dazuzuählen, dass bis .4 nix ist und erst ab .5 die zahl vorige zahl um 1 erhöht wird? genau 0.05 und das ganze geht natürlich beliebig nach hinten... ![]() |
|
![]() |
![]() |
![]() |
#17 | |
Veteran
![]() Registriert seit: 07.01.2002
Alter: 44
Beiträge: 268
|
![]() Zitat:
![]() |
|
![]() |
![]() |
![]() |
#18 |
Quantensingularität
![]() |
![]() Warum verwendet ihr nicht die Math.round() Funktion? Die ist für das geschrieben worden:
doubleZahl = ((double)Math.round(doubleZahl * 100)) / 100
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#19 | |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() Zitat:
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
|
![]() |
![]() |
![]() |
#20 |
Quantensingularität
![]() |
![]() Bin nacher noch draufgekommen, geht auch ohne expliziten Cast:
doubleZahl = Math.round(doubleZahl * 100) / 100.0
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|