小编Ign*_*ste的帖子

格式化BigDecimal或不带小数分隔符的数字

嗨,我想打印一个带小数值但不使用小数分隔符的数字.

例如:我有这个275.1234,但我想要这个027512(4位数2小数,全部没有分隔符)

我尝试了两种方法:

    DecimalFormat format = new DecimalFormat("0000.00");  
    DecimalFormatSymbols custom=new DecimalFormatSymbols();
    custom.setDecimalSeparator('\u0000');
    format.setDecimalFormatSymbols(custom);
    System.out.println(format.format(new BigDecimal("275.1234")));
Run Code Online (Sandbox Code Playgroud)

这打印我:0275 12(我知道我可以删除空间)

第二种方法:

    String[] value = new BigDecimal("275.1234").toString().split("\\.");
    System.out.println(value[0] + value[1].substring(0,2));
Run Code Online (Sandbox Code Playgroud)

打印我:27512(不好我需要如果有问题的数字没有整数4位,前4位数字填充0)

Ex: 1,1234 ==> 000112
Ex: 10,5678 ==> 001056
Ex: 100,7877 ==> 010078
Run Code Online (Sandbox Code Playgroud)

基本上我想要更优雅的解决这个问题,任何想法?

谢谢伊格纳西奥

java format bigdecimal

2
推荐指数
1
解决办法
4669
查看次数

标签 统计

bigdecimal ×1

format ×1

java ×1