Ryu*_*yuk 1 java rounding bigdecimal
如何将BigDecimal对象始终舍入为2位小数(即使我的BigDecimal对象没有小数)?
我正在做:
myBigDecimal.setScale(2, RoundingMode.HALF_UP); // works fine when it has decimals
Run Code Online (Sandbox Code Playgroud)
上下文:我有一个POJO列表,当我发送到前端时,我在ExtJs中给它们格式
但
我也在生成一个CSV文件,并且我被要求所有经济领域都有2位小数.
任何想法或工作?
谢谢
您可以使用java.text.DecimalFormat该类来设置十进制数字的格式.例如
代码:
public static void main(String[] args) {
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator('.');
DecimalFormat formatter = new DecimalFormat("#.00", symbols);
System.out.println(formatter.format(BigDecimal.valueOf(12.456)));
System.out.println(formatter.format(BigDecimal.valueOf(12L)));
}
Run Code Online (Sandbox Code Playgroud)
输出:
12.46
12.00
Run Code Online (Sandbox Code Playgroud)
有关自定义格式的更多信息(Java教程>国际化>格式化).