У меня есть значения с плавающей запятой с заданным количеством десятичных знаков. В этом примере 2 десятичных знака.
Например:
33.3
134.45
Из этих строк я хочу получить следующие целые числа:
3330
13445
Я хочу разобрать эти строки эквивалентны целочисленным значениям, используя тот факт, что мы заранее знаем количество десятичных знаков. В этом примере это 2, поэтому фактическое число с плавающей запятой / двойное число нужно умножить на 100.
Я пробовал следующий код, но он разбирает 33.3
в 3329
вместо 3330
.
Это код, который я пробовал:
public class HelloWorld{
public static void main(String []args){
int decimalDigits = 2;
String strNumber = "33.3";
double doubleNumber = Double.parseDouble(strNumber);
int intNumber = (int)(Double.parseDouble(strNumber) * (double)Math.pow(10,decimalDigits) );
System.out.println(strNumber);
System.out.println(doubleNumber);
System.out.println(intNumber);
}
}
И вот результат:
$javac HelloWorld.java
$java -Xmx128M -Xms16M HelloWorld
33.3
33.3
3329