gpt4 book ai didi

Java : How to use ternary operator for this purpose

转载 作者:行者123 更新时间:2023-12-01 06:31:00 25 4
gpt4 key购买 nike

我的要求是,如果最后一个变量值小于1,例如0.0045

然后我需要打印小数点后的 4 位数字,以便结果看起来像 0.0045

或者如果最后一个变量值大于 1,例如 444.8183

然后我只需要打印小数点后 2 位数字,这样结果就会像 444.82

我已经编写了程序,它工作正常,但我喜欢使用三元运算符

public class Test {

private static NumberUtil numberUtil = NumberUtil.getInstance();

public static void main(String args[]) {
float last = (float) 444.8183;
String result = "";

if (last > 1) {
result = numberUtil.formatNumber(last, 2);
} else {
result = numberUtil.formatNumber(last, 4);
}
System.out.println(result);
}
}

import java.text.DecimalFormat;

public class NumberUtil {

private static NumberUtil _instance = new NumberUtil();

public static NumberUtil getInstance() {
return _instance;
}

public String formatNumber(double d, int decPts) {
if (2 == decPts)
return new DecimalFormat("#,###,###,##0.00").format(d);
else if (0 == decPts)
return new DecimalFormat("#,###,###,##0").format(d);
else if (3 == decPts)
return new DecimalFormat("#,###,###,##0.000").format(d);
else if (4 == decPts)
return new DecimalFormat("0.0000").format(d);
return String.valueOf(d);
}

public double formatDoubleNumber(double d){
double newD = Math.round(d*100.0)/100.0;
return newD;
}
}

最佳答案

怎么样

sigFigs = (last > 1)? 2 : 4;
result = numberUtil.formatNumber(last, sigFigs);

像这样拆分的好处是代码变得“自文档化”。下周你仍然会记得你为什么这么做。

关于Java : How to use ternary operator for this purpose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17016641/

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