[java] zaokrąglanie liczb


#1

Witam,

muszę zaokrąglić liczby do częsci setnych. Czy ktoś wie jak to zrobić w javie?

Z góry dzięki!


(Grzelix) #2

http://www.jkozak.pl/przedmioty/podstaw ... nia-liczb/


#3

Jest problem:

a mianowicie:

oto kawałek kodu:

//Wyświetlam liczbę

                            System.out.println("Match: " + mat.group());

                            //Przypisuję ją do zmiennej double

                            Float doub = new Float(mat.group());

                            //Zaokrąglam do setek

                            //doub = Math.PI;

                            doub *= 100; // pi = pi * 100;

                            System.out.println("AAAAAAAAAAAAAAAAAAA " +doub);

                            doub = Math.round(doub+0.0f);

                            doub /= 100; // pi = po / 100;

                            //Zapisuję ją w tablicy

                            d.v[liczbalinijek][liczbyliczba] = doub+0.0f;

                            liczbyliczba++;

Przy: doub = Math.round(doub+0.0f); wyświetla się błąd:

Dlaczego tak jest? Przecież podaję mu Float'a...


(Sawyer47) #4
static int round(float f)

Zwraca int. Być może chciałeś użyć rint? Albo rzutowania.


#5

Chciałem żeby mi zwróciło float'a zaokrąglonego do setek


(Sawyer47) #6

Przerabiając przykład z podanej strony, dodane parsowanie ze Stringu bo tak jest chyba w Twoim przypadku:

String s = "123.456789";

	double val = Double.parseDouble(s);

        val *= 100;

        val = Math.round(val);

        val /= 100;

        System.out.println("Zaokrąglenie do 2 miejsca po przecinku:" + val);