格式化大小数

时间:2015-05-18 09:06:22

标签: java bigdecimal

我有一个大小数值:-6
我需要格式化它以获得:-000000006.00
如果我的大小数是 6 ,结果将是:0000000006.00

我正在尝试使用String.format,但我无法获得该结果。

String.format("%010d", invoice.getAmount().doubleValue());

如何格式化我的大小数以获得所需的结果?

3 个答案:

答案 0 :(得分:3)

检查DecimalFormat班级:

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

答案 1 :(得分:3)

String result = String.format("%013.2f", invoice.getAmount());

请注意,用于小数点的符号是特定于语言环境的;例如,您可以获取,而不是.。如果您需要它始终为点.,则指定小数点为点的区域设置,例如:

String result = String.format(Locale.US, "%013.2f", invoice.getAmount());

答案 2 :(得分:0)

如果您想使用String.format(),可以使用&#39; +&#39;包括标志:

String.format("%+010d", -6)