gpt4 book ai didi

java - 内置显示有效数字的方法

转载 作者:搜寻专家 更新时间:2023-11-01 03:24:12 26 4
gpt4 key购买 nike

有很多关于有效数字四舍五入的问题,以及提供一种新的四舍五入方法的答案,例如:

Rounding to an arbitrary number of significant digits

Round a double to 2 decimal places

这些问题和解决方案大多发生在2009~2010年左右。

我想要一个简单的内置方法(或来自 Apache 或 Spring 等标准知名库),它给定数字和有效数字,打印出限制在指定有效数字范围内的数字。

即:

  • 123.456789//至 2 位有效数字:120
  • 123.456789//至 4 位有效数字:123.4
  • 123.456789//至 7 位有效数字:123.4567

最佳答案

我发现这种使用字符串格式的好方法。显然,用户可以使用字符串格式“g”或“G”指定有效数字的最大数目。 ( http://developer.android.com/reference/java/util/Formatter.html )

如果您只想打印出来。

public String toSignificantFiguresString(BigDecimal bd, int significantFigures){
return String.format("%."+significantFigures+"G", bd);
}

这是如果你想转换它:

public BigDecimal toSignificantFigures(BigDecimal bd, int significantFigures){
String s = String.format("%."+significantFigures+"G", bd);
BigDecimal result = new BigDecimal(s);
return result;
}

这是一个实际的例子:

    BigDecimal bd = toSignificantFigures(BigDecimal.valueOf(12345678.123456789), 10);
System.out.println("bd: " + String.format("%f",bd));

注意:我使用 BigDecimal 进行计算,因为 double 和 float 存在精度问题。)

关于java - 内置显示有效数字的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19487506/

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