Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Odstranění desetinné čárky

Java Java Odstranění desetinné čárky

Aktivity (1)
Avatar
vlastajuracka:16.10.2015 23:58

Čaues lidi mam tkovej dotaz potřebuju abych proměnnou typu double když bude za desetinou čárkou 0 tk aby mi to nevypsalo 3.0 ale jenom 3 a prosím nepište mi tu přetypování.. potřeboval bych nějakou metodu nebo podminku která mi zjistí jestli ja za desetinou čárkou 0 snad to existuje. Díky moc :)

 
Odpovědět 16.10.2015 23:58
Avatar
sunspinx
Člen
Avatar
sunspinx:17.10.2015 10:40
Scanner in = new Scanner(System.in);
       try {
           System.out.print("Zadajte cislo: ");

           double sNulou = Double.parseDouble(in.nextLine());
           int bezNuly = (int) sNulou;

           if(sNulou / bezNuly == 1) System.out.println(bezNuly); // Zistujeme, ci je za desatinnou ciarkov cislo 0, ak hej vypise cislo bez nuly
           else System.out.println(sNulou); // V pripade, ze za desatinnou ciarkou je cislo ine ako 0
       }
       catch(IllegalArgumentException e) {
           System.out.println("Zadat mozte len cislo!");
       }
 
Nahoru Odpovědět  -1 17.10.2015 10:40
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na vlastajuracka
Honza Bittner:17.10.2015 10:40

Budeš možná chtít nastavit formát čísla http://stackoverflow.com/…6303/3281252 Je to i jednodušší na používání než převádět číslo na string a pak pomocí nějakého výrazu mazat nuly.

A nebo můžeš také zaokrouhlovat (nemám ověřeno):

round(200.3456, _počet desetinných míst_);
round(200.3456, 0); // by mělo vypsat 200
Nahoru Odpovědět 17.10.2015 10:40
Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a zeptat na cokoli se mě můžeš na https://github.com/HoBi/...
Avatar
sunspinx
Člen
Avatar
Odpovídá na sunspinx
sunspinx:17.10.2015 10:41

Toto bolo prvé, čo ma napadlo, som taktiež začiatočník, tak to ber do úvahy, snaď je to to, čo si potreboval.

 
Nahoru Odpovědět 17.10.2015 10:41
Avatar
Atrament
Člen
Avatar
Odpovídá na vlastajuracka
Atrament:17.10.2015 10:48

Tak buď můžeš 'matematicky' ověřit jestli jde o celé číslo

if (number % 1 == 0) {
//je to celé číslo
}
else {
//není to celé číslo
}

a podle toho pak reagovat a nebo můžeš vzít to číslo a vypsat ho formátovaně:

DecimalFormat df = new DecimalFormat("#.##"); //vytvoří decimal formater, který bude formátovat na dvě desetinná místa, přičemž pokud by byly za desetinnou čárkou jenom nuly tak je vynechá
System.out.println(df.format(number));

DecimalFormat zaokrouhluje, takže pokud bys měl to číslo třeba 3.0000051458, tak by i tak vypsal jenom 3, záleží na tobě jestli ti to tak stačí nebo ne.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 17.10.2015 10:48
Avatar
vlastajuracka:17.10.2015 12:16

Jee ste super kluci diky moc :)

 
Nahoru Odpovědět 17.10.2015 12:16
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 6 zpráv z 6.