gpt4 book ai didi

java - A Double 中有多少位小数(Java)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:59:27 26 4
gpt4 key购买 nike

Java 中是否有任何内置函数可以告诉我 double 中有多少位小数。例如:

101.13 = 2
101.130 = 3
1.100 = 3
1.1 = 1
-3.2322 = 4 etc.

如果需要,我很乐意先转换为另一种类型,我曾考虑过先转换为 bigdecimal,但没有成功。

最佳答案

如果像这样将数字作为字符串传递,则可以使用 BigDecimal.scale():

BigDecimal a = new BigDecimal("1.31");
System.out.println(a.scale()); //prints 2
BigDecimal b = new BigDecimal("1.310");
System.out.println(b.scale()); //prints 3

但是如果您已经将数字作为字符串,您也可以使用正则表达式解析字符串以查看有多少位数字:

String[] s = "1.31".split("\\.");
System.out.println(s[s.length - 1].length());

使用 BigDecimal 可能具有检查字符串是否实际上是数字的优势;使用字符串方法你必须自己做。此外,如果您将数字设为 double ,则无法像其他人指出的那样区分 1.311.310(它们的 double 完全相同)。

关于java - A Double 中有多少位小数(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3334168/

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