gpt4 book ai didi

java - 如何获得 BigDecimal 的第一个非零数字

转载 作者:搜寻专家 更新时间:2023-10-31 19:53:54 25 4
gpt4 key购买 nike

在 Java 中,如何获取 BigDecimal 的第一个非零数字?

例如:

0.001 => 1
0.02 => 2
987.654 => 9

对于 0 到 1 之间的数字,这将起作用:

bigDecimal.scaleByPowerOfTen(bigDecimal.precision()).setScale(0, RoundingMode.DOWN)

对于大于 1 的数字,这将起作用:

bigDecimal.scaleByPowerOfTen(1-bigDecimal.precision()).setScale(0, RoundingMode.DOWN)

但是有没有解决方案,适用于任何数字?

最佳答案

这是一个仅使用 BigDecimalint 的解决方案:

BigDecimal value = new BigDecimal(0.021); //input your value here

int scale = value.scale();
int precision = value.precision();
int result = value.movePointLeft(precision-scale-1).abs().intValue(); //this will generate the result you need

关于java - 如何获得 BigDecimal 的第一个非零数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32847896/

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