gpt4 book ai didi

java - 对于不带小数的 double 格式,在 2 位后截去小数

转载 作者:行者123 更新时间:2023-12-02 06:49:21 24 4
gpt4 key购买 nike

我试图“截断” double 以仅返回两位小数。

示例:
给定 1375568.13124765 将返回 => 1375568.13

使用十进制格式太慢。我在循环中多次调用此函数。为了加快这个过程,我正在尝试:

public static double castRoundTo2(double d)
{
return (long) (d * 100 + 0.5) / 100.0;
}

这会返回类似 1375568.13000015

有没有办法截掉小数点后两位?

这用于数值计算。

最佳答案

您希望通过这样做实现什么目标?如果您只想很好地显示十进制数字,可以这样做的一种方法是:

final double number = 45.212454664;
System.out.printf("%1.2f", number);

这将打印带有 2 位小数的数字。在本例中,输出为 45.21

编辑:如果您想要一种对数字进行舍入的通用方法,您可以执行以下操作:

    public static double round(final double number, final int precision){
return Math.round(number * Math.pow(10, precision)) / Math.pow(10, precision);
}

关于java - 对于不带小数的 double 格式,在 2 位后截去小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com