我想知道如何将double转换为int而不用在Java中四舍五入,例如3,9 double转换为39 int,在此先感谢!
答案 0 :(得分:1)
我想您可以将double
转换为String
,删除.
,然后尝试将其解析为int
。
通过执行以下操作:
public static void main(String[] args) {
double input = 2.12345;
String stringInput = String.valueOf(input);
String withoutDot = stringInput.replace(".", "");
try {
int number = Integer.parseInt(withoutDot);
}
catch (NumberFormatException e) {
// Handle this exception gracefully
}
}
请注意,使用此解决方案,当NumberFormatException
的值必须有许多小数点时,您将总是拥有double
。
如果您的double
值始终具有相同的小数点数量(例如2),则另一种解决方案是使用乘法:
public static void main(String[] args) {
double input = 2.12;
Double rounded = 2.12 * 100;
int number = rounded.intValue();
}
答案 1 :(得分:0)
通常这是不可能的。 因为double可以比int多得多的位数。
double d = 3.111111111111111111111111111111;
System.out.println(Integer.MAX_VALUE);