我需要一些帮助,使用循环舍入到相等的位置。我有一些代码可以工作,但它是一个非常笨拙的方法,我不认为它是良好的编码,真的需要一些for循环的帮助。
我已在上面声明,我将解析到我的主要课程。
我需要一些帮助来实现for循环以帮助整理此代码并删除所有“if”和“else if”语句,我们将非常感谢任何帮助。
谢谢
答案 0 :(得分:1)
您似乎有两种不同的情况:
noDecimal
介于1到10之间时。noDecimal
为0时。因此,您的代码需要看起来像这样:
double decimalPlace = noDecimal;
DecimalFormat formatter = new DecimalFormat("##.##########");
if (noDecimal == 0) {
decimalPlace = 0.00000000000000000000000000000000000000000001;
}
else {
decimalPlace = 1;
StringBuilder formatString = new StringBuilder();
formatString.append("#0.");
for(int i = 0; i < noDecimal; i++) {
formatString.append("0");
decimalPlace /= 10;
}
formatter = new DecimalFormat(formatString.toString());
}
如果noDecimal
值为2,则此代码将生成decimalPlace
值0.01
(1 - > 0.1 - > 0.01),格式化程序值为{{1 }}