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
8276
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
Vain vasemmistolaiset rakennemuutokset pelastavat Suomen
Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot1283912Purra on kantanut vastuuta täyden kympin arvoisesti
Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans143361- 193285
- 793237
Persut huutaa taas: "kato! muslimi!"
Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe573214- 292875
- 472677
- 542617
- 672397
- 192337