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"而不是"#"呢?这个零的确切目的是什么?谢谢你的帮助。
发布于 2011-12-14 10:34:07
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位数字。
发布于 2011-12-14 10:34:55
只有当#不是前导零时,它才会放一个数字。0将放置一个数字,即使它是一个尾随的零。如果您想要打印一个固定数量的数字,也可以在前面使用零。
发布于 2011-12-14 10:48:48
对于dp之前的零,像0.23这样的小数字将显示为0.23。没有它,您将无法得到前导零,因此它只是显示为.23。如果你有一个像excel的电子表格,你也可以在那里检查这个。
https://stackoverflow.com/questions/8502976
复制相似问题