gpt4 book ai didi

java - 如何用可变数量的十进制数字格式化 double

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

我正在执行一项任务,我在处理下面提到的负面情况时感到震惊

如果值小于 1,那么我想为其格式化(添加)4 个小数点。

例如,如果值为 0.4567,那么我需要 0.4567

否则,如果该值大于 1 格式且只有 2 位数字。

例如,如果值为 444.9,那么我需要 444.90

上面提到的一切都工作正常,但遇到以下情况

也就是说,如果值小于 1 并且以零结尾 (0.1000 , 0.6000) ,打印 0.2000 是没有意义的,所以在这种情况下我希望输出仅为 0.20

下面是我的程序

package com;
import java.text.DecimalFormat;
public class Test {
public static void main(String args[]) {
try {
String result = "";
Test test = new Test();
double value = 444.9;
if (value < 1) {
result = test.numberFormat(value, 4);
} else {
result = test.numberFormat(value, 2);
}
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
public String numberFormat(double d, int decimals) {
if (2 == decimals)
return new DecimalFormat("#,###,###,##0.00").format(d);
else if (0 == decimals)
return new DecimalFormat("#,###,###,##0").format(d);
else if (3 == decimals)
return new DecimalFormat("#,###,###,##0.000").format(d);
else if (4 == decimals)
return new DecimalFormat("#,###,###,##0.0000").format(d);
return String.valueOf(d);
}

}

最佳答案

如果要忽略小数点后第三位和第四位的 0,请使用 #

new DecimalFormat("#,###,###,##0.00##").format(d)

关于java - 如何用可变数量的十进制数字格式化 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17296691/

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