public class DoubleToIntExample {
public static void main(String[] args) {
double d = 123.456;
// 方法1: 使用强制类型转换 (简单但会直接截断小数部分)
int i1 = (int) d;
System.out.println("方法1结果: " + i1); // 输出: 方法1结果: 123
// 方法2: 使用 Math.round() (四舍五入)
int i2 = (int) Math.round(d);
System.out.println("方法2结果: " + i2); // 输出: 方法2结果: 123
// 方法3: 使用 BigDecimal (更精确的控制)
import java.math.BigDecimal;
BigDecimal bd = new BigDecimal(d);
int i3 = bd.intValue();
System.out.println("方法3结果: " + i3); // 输出: 方法3结果: 123
// 如果需要四舍五入并保留精度,可以使用 BigDecimal 的 setScale 方法
BigDecimal bdRounded = bd.setScale(0, BigDecimal.ROUND_HALF_UP);
int i4 = bdRounded.intValue();
System.out.println("方法4结果: " + i4); // 输出: 方法4结果: 123
}
}
(int) d 会直接将 double 类型的值转换为 int 类型,但只会截断小数部分,不会进行四舍五入。Math.round() 会对 double 类型的值进行四舍五入,然后再转换为 int 类型。BigDecimal 提供了更精确的控制,适用于对精度要求较高的场景。intValue() 方法会将 BigDecimal 转换为 int,但同样会截断小数部分。如果需要四舍五入,可以使用 setScale 方法。以上是几种常见的 double 转 int 的方法,根据具体需求选择合适的方式。
上一篇:java 字节码
下一篇:java执行linux命令
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站