Avatar
petr.chatar.anton:

Prosím, jak se zaokrouhluje na dvě desetinná čísla? Tenhle kód

double Pi = Math.PI;
Pi = Math.round(Pi*100)/100;
System.out.println("PI je : " + Pi);

mi jako výsledek vypisuje 3.0. Ať se snažím jak chci, mám jako výsledek buď 3 nebo 3.0. Nic jinýho.
A k tomu ještě jedna otázka, když bych chtěl vypsat po česku 3,0 a ne 3.0, jak to udělám?

 
Odpovědět 24.9.2013 14:59
Avatar
Kit
Redaktor
Avatar
Odpovídá na petr.chatar.anton
Kit:

Zkus tuto elementární úpravu:

Pi = Math.round(Pi*100)/100.0;

a pak ještě jednu elementární úpravu:

System.out.format("Pi je %.2f%n", Pi);
Nahoru Odpovědět 24.9.2013 16:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
petr.chatar.anton:

Děkuju, ta první úprava zafungovala.
Nemohl bys mi, prosím, vysvětlit, proč? Výsledek Math.round(Pi*100) je sice long, ten ale dělím 100? A Pi je double ....

 
Nahoru Odpovědět 25.9.2013 14:20
Avatar
Odpovídá na petr.chatar.anton
Luboš Běhounek (Satik):

Když dělíš dvě celá čísla, vyjde ti celočíselný výsledek.
Celočíselně 314/100 = 3 (zbytek 14).

Nahoru Odpovědět 25.9.2013 14:32
:)
Avatar
petr.chatar.anton:

Jo, už tomu rozumím. Díky.

 
Nahoru Odpovědět 25.9.2013 14:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.