Olisiko kellään kunnon ideaa miten saisi hyvin ilman ulkoisten luokkien käyttöä pyöristettyä tulos kahden desimaalin tarkkuuteen?
Koodausta ei tartte vaan idean esitys!
Pyöristys kahteen desimaalin tarkkuuteen?
5
8195
Vastaukset
- asöads
double luku = 1.434543;
int tmp = (int)(luku * 100);
luku = (double)tmp / 100; // 1.43- aina..
Tuo kyllä katkaisee desimaalit pois, mutta osaako se pyöristää oikein? En usko.
- ...
aina.. kirjoitti:
Tuo kyllä katkaisee desimaalit pois, mutta osaako se pyöristää oikein? En usko.
Sadalla kertomisen jälkeen on lisättävä 0.5.
- roundaaja
Katso Math-luokan round-metodi. Math luokka ei ole java.math-paketissa, vaan java.lang-paketissa. Sitä ei siis tarvi importata.
- jehnuttaja
Joudut tekemään näin:
double desimaaliluku = 12.3456789;
int kokonaisosa = (int) desimaaliluku;
int desimaaliosa = (int) (desimaaliluku * 100.0 - kokonaisosa * 100.0 0.5);
System.out.printf("%f pyöristettynä kahden desimaalin tarkkuuteen on %d.%d%n", desimaaliluku, kokonaisosa, desimaaliosa);
Esimerkiksi jos koodataan rahalaskuja, niissä ei pidä missään nimessä käyttää liukuluku-euroja vaan pitää käyttää kokonaisluku-euroja ja kokonaisluku-senttejä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 692713
- 632654
- 681792
- 241617
- 201550
Tykkään susta
Elämäni loppuun asti. Olet niin suuresti siihen vaikuttanut. Tykkäsit tai et siitä91480- 151392
- 381233
- 401203
Onko meillä
Molemmilla nyt hyvät fiilikset😢ei ainakaan mulla mutta eteenpäin on mentävä😏ikävä on, kait se helpottaa ajan myötä. Ko81197