我工作,我感到震驚處理以下如何格式化用十進制數字
提到負的情況。如果值是工作變量量雙小於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);
}
}
基於x < 1 || x > = 1的條件,那麼如果它<1並以「00」結束,則將它們切斷? –