» »

java Double.valueOf

java Double.valueOf

BRBR ::

Double.valueOf("0.006")

tole vrne 0.0060

V čem je fora ?

Looooooka ::

DecimalFormat ... ne glede na jezik ce je pomemben decimal precision. Nikol ne ves kaksne sistemske nastavitve bo imel uporabnik.

genesiss ::

Saj 0.006 je isto kot 0.0060 - kaj te moti?

BRBR ::

Ker mam prej eno funkcijo, ki mi omeji cifro na 3 decimalke.

genesiss ::

Kot je Loooka napisal.

KaRkY ::

Za takšne stvari kjer je formatiranje pomembno je bolje uporabljati BigDecimal v javi, ker omogoča boljši nadzor nad decimalnimi števili.
When you look long into an abyss, the abyss looks into you

AndrejO ::

BRBR je izjavil:


Double.valueOf("0.006")

tole vrne 0.0060

V čem je fora ?

Dejansko ti Double.valueOf("0.006") vrne objekt Double, ki vsebuje vrednost natančno 0,00600000000000000012490009027033 (vrste double oz. dvojne natančnosti).

Kar ti potem vrne "0.0060" je neka druga funkcija, ki je nisi poimenoval, privzeto pa ti decimalno število izpiše na štiri decimalna mesta natančno.

Če te napaka pri pretvorbi iz dvojiških eksponentov v desetiške moti, oziroma če je napaka nad mejo zahtevane natančnosti, potem uporabi BigDecimal, ki uporablja desetiške eksponente. Te pa to še vedno ne bo odrešilo naloge, da sam določiš kako se bo decimalna števila izpisovalo.

driver_x ::

BRBR je izjavil:

Ker mam prej eno funkcijo, ki mi omeji cifro na 3 decimalke.


Delaj raje s tipi Double ali BigDecimal in vrednost formatiraj šele pri izpisovanju.

Spura ::

Model je najbrz v stringu odrezal na tri decimalke in zdej ga moti ker double vrednost ni na tri decimalke.
BRBR, niso vse decimalne vrednosti natancno predstavljive v floating pointu. Recimo da 0.006 nima predstavitve v double in ti je pac dal najblizje stevilo predstavljivo v double.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kako zaokrožiti? Cena brez davka + popust + DDV decimalke

Oddelek: Programiranje
184419 (3576) kunigunda
»

[Java] pomoč pri seminarski

Oddelek: Programiranje
82183 (1813) dasf
»

zaokrožanje števil double na dve decimalki

Oddelek: Programiranje
52028 (1749) win64
»

BigInteger-->BigDecimal

Oddelek: Programiranje
8955 (851) FlashM
»

[Java] Kako filtrirati, katera števila lahko vpišeš?

Oddelek: Programiranje
182085 (1787) fiction

Več podobnih tem