Skip to content

Commit 6995a96

Browse files
akash-pandeypivovarit
authored andcommitted
BAEL-2159: Mini Article on "Separate double into integer and decimal parts" (eugenp#5300)
1 parent 1dea2b8 commit 6995a96

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.baeldung.doubles;
2+
3+
import java.math.BigDecimal;
4+
5+
public class SplitFloatingPointNumbers {
6+
7+
public static void main(String[] args) {
8+
9+
double doubleNumber = 24.04;
10+
splitUsingFloatingTypes(doubleNumber);
11+
splitUsingString(doubleNumber);
12+
splitUsingBigDecimal(doubleNumber);
13+
}
14+
15+
private static void splitUsingFloatingTypes(double doubleNumber) {
16+
System.out.println("Using Floating Point Arithmetics:");
17+
int intPart = (int) doubleNumber;
18+
System.out.println("Double Number: "+doubleNumber);
19+
System.out.println("Integer Part: "+ intPart);
20+
System.out.println("Decimal Part: "+ (doubleNumber - intPart));
21+
}
22+
23+
private static void splitUsingString(double doubleNumber) {
24+
System.out.println("Using String Operations:");
25+
String doubleAsString = String.valueOf(doubleNumber);
26+
int indexOfDecimal = doubleAsString.indexOf(".");
27+
System.out.println("Double Number: "+doubleNumber);
28+
System.out.println("Integer Part: "+ doubleAsString.substring(0, indexOfDecimal));
29+
System.out.println("Decimal Part: "+ doubleAsString.substring(indexOfDecimal));
30+
}
31+
32+
private static void splitUsingBigDecimal(double doubleNumber) {
33+
System.out.println("Using BigDecimal Operations:");
34+
BigDecimal bigDecimal = new BigDecimal(String.valueOf(doubleNumber));
35+
int intValue = bigDecimal.intValue();
36+
System.out.println("Double Number: "+bigDecimal.toPlainString());
37+
System.out.println("Integer Part: "+intValue);
38+
System.out.println("Decimal Part: "+bigDecimal.subtract(new BigDecimal(intValue)).toPlainString());
39+
}
40+
}

0 commit comments

Comments
 (0)