[英]Convert double to int without rounding java
我想知道如何在 Java 中不四舍五入的情況下將 double 轉換為 int,例如 3,9 double 到 39 int,提前致謝!
我想您可以將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
}
}
請注意,使用此解決方案時,當您的double
值具有許多小數點時,您將始終遇到NumberFormatException
。
如果您的double
值始終具有相同數量的小數點(例如 2),另一種解決方案是使用乘法:
public static void main(String[] args) {
double input = 2.12;
Double rounded = 2.12 * 100;
int number = rounded.intValue();
}
一般來說是不可能的。 因為 double 可以有比 int 多得多的數字。
double d = 3.111111111111111111111111111111;
System.out.println(Integer.MAX_VALUE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.