public static String formatAmountUpToTwoDecimalNumber(String amount)
{
if(amount==null || "".equals(amount))
{
return "";
}
Double doubleAmount = Double.valueOf(amount);
double myAmount = doubleAmount.doubleValue();
NumberFormat f = new DecimalFormat("###,###,###,###,##0.00");
String s = f.format(myAmount);
return s;
}
"###,###,###,###,##0.00"
,这种模式的目的究竟是什么?我认为它有两个目的
但为什么在十进制之前有"0"
而不是"#"
?这零的目的究竟是什么?
谢谢您的帮助。
答案 0 :(得分:18)
Symbol Location Localized? Meaning
0 Number Yes Digit
# Number Yes Digit, zero shows as absent
来自:http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
如果没有数字,则不会显示#
。前导0
表示小数点分隔符前至少有一位数。
答案 1 :(得分:4)
#
只有在不是前导零的情况下才会输入数字。 0
即使是尾随零,也会输入一个数字。如果你想要打印固定数量的数字,你也可以在前面使用零。
答案 2 :(得分:4)
在dp之前为零,0.23之类的小数字将显示为0.23。如果没有它,你将无法获得前导零,因此它只显示为.23。如果您有像excel这样的电子表格,也可以在那里查看。