pMpC
pMpC

Reputation: 257

Retrieve numbers after comma (from double numbers)

Imagine that I have 4,81 (double), how can i get the figures after the comma?

I want to receive 8 as a Integer and 1 as another.

Thanks

Upvotes: 1

Views: 2070

Answers (2)

aioobe
aioobe

Reputation: 420971

Doubles are tricky to work with when you're interested in decimal properties such as the decimal digits of the fractional part.

I suggest you let String.valueOf do the transformation to decimal digits and work with the resulting string.

double d = 4.81;
String s = String.valueOf(d);

for (int i = s.indexOf(".") + 1; i < s.length(); i++) {
    int digit = Character.getNumericValue(s.charAt(i));
    System.out.println(digit);
}

Output:

8
1

Upvotes: 3

Mateusz Pryczkowski
Mateusz Pryczkowski

Reputation: 1894

You can always make this kind of loop:

double number = 4,81;
while (condition) {
  number *= 10;
  int nextNumber = Math.floor(number) % 10;
}

Upvotes: 0

Related Questions