格式化大十进制
Formatting big decimal
我有一个大的小数,其值为: -6
我需要对其进行格式化以获得: -000000006.00
如果我的大十进制是6,结果将是:0000000006.00
我正在尝试使用 String.format
,但无法获得该结果。
String.format("%010d", invoice.getAmount().doubleValue());
如何格式化我的大十进制以获得所需的结果?
勾选 DecimalFormat
class:
BigDecimal bg = new BigDecimal(-6);
DecimalFormat df = (bg.signum() < 0) ? new DecimalFormat("000000000.00") : new DecimalFormat("0000000000.00");
System.out.println(df.format(bg));
产量:
-000000006.00
0000000006.00
String result = String.format("%013.2f", invoice.getAmount());
请注意,用于小数点的符号是特定于区域设置的;例如,您可能会得到 ,
而不是 .
。如果您需要它始终为点 .
,则指定小数点为点的语言环境,例如:
String result = String.format(Locale.US, "%013.2f", invoice.getAmount());
如果你想使用String.format()
,你可以使用'+'来包含符号:
String.format("%+010d", -6)
我有一个大的小数,其值为: -6
我需要对其进行格式化以获得: -000000006.00
如果我的大十进制是6,结果将是:0000000006.00
我正在尝试使用 String.format
,但无法获得该结果。
String.format("%010d", invoice.getAmount().doubleValue());
如何格式化我的大十进制以获得所需的结果?
勾选 DecimalFormat
class:
BigDecimal bg = new BigDecimal(-6);
DecimalFormat df = (bg.signum() < 0) ? new DecimalFormat("000000000.00") : new DecimalFormat("0000000000.00");
System.out.println(df.format(bg));
产量:
-000000006.00
0000000006.00
String result = String.format("%013.2f", invoice.getAmount());
请注意,用于小数点的符号是特定于区域设置的;例如,您可能会得到 ,
而不是 .
。如果您需要它始终为点 .
,则指定小数点为点的语言环境,例如:
String result = String.format(Locale.US, "%013.2f", invoice.getAmount());
如果你想使用String.format()
,你可以使用'+'来包含符号:
String.format("%+010d", -6)