gpt4 book ai didi

java - Java 中 double 值的四舍五入

转载 作者:行者123 更新时间:2023-12-01 17:16:32 24 4
gpt4 key购买 nike

目前我正在使用 DecimalFormat 类来四舍五入 double 值

double d = 42.405;
DecimalFormat f = new DecimalFormat("##.00");
System.out.println(f.format(d));

output: 42.41;

我正在使用 Selenium 进行浏览器应用程序测试,因此我需要根据浏览器对值进行四舍五入。

例如:

IE 将 42.405 四舍五入为 42.40,其他四舍五入为 42.41。但如果值类似于 42.403、42.406,那么我会看到所有浏览器之间的一致性。所以现在我必须在我的脚本中添加一个条件,这样如果浏览器是 IE,则应以这样的方式进行舍入:我应该得到 42.40,而对于其他浏览器应该得到 42.41。我该怎么做?

最佳答案

您可以指定RoundingMode对于 DecimalFormatter ,但请根据您的需要进行选择(我刚刚给出了使用 HALF_UP 的示例)。

double d = 42.405;
DecimalFormat f = new DecimalFormat("##.00");
f.setRoundingMode(RoundingMode.HALF_UP);
System.out.println(f.format(d)); // Prints 42.41

或者,您也可以使用BigDecimal (如果你知道为什么我们通常选择 BigDecimal 而不是 double)。

double d = 42.405;
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(2, RoundingMode.HALF_UP);
System.out.println(bd.doubleValue()); // Prints 42.41

关于java - Java 中 double 值的四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21727101/

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