删除前导0到小数

时间:2015-06-20 21:31:26

标签: java bigdecimal

我想删除十进制数中的前导零。

所以我希望输出应该是     .3240.324。 我试过str.replaceFirst("^0+(?!$)", "");没有工作,我也尝试了正则表达式! 没有结果! 是的,我正在使用BigDecimal。

3 个答案:

答案 0 :(得分:3)

试试这个

str = str.replaceFirst("^0\\.", ".");

答案 1 :(得分:2)

如果您尝试将值BigDecimal 0.324格式化为.324。然后在下面工作

    BigDecimal bd=new BigDecimal("0.23");// this will replace with your BigDecimal
    DecimalFormat df=null;
    //check if number is a fraction
    if(bd.remainder(BigDecimal.TEN).compareTo(BigDecimal.ZERO)>0)
      df=new DecimalFormat(".###");
    else
      df=new DecimalFormat("##");

    System.out.print(df.format(bd));// .format returns string as .23

0.23->.23
0->0
90->90
80.12->80.12

答案 2 :(得分:0)

你想要这个用于打印吗?你不能用这个做任何数学,所以我想是的。然后你可以这样做:

BigDecimal number =new BigDecimal(0.254); 
       System.out.println(number.toString().substring(number.toString().indexOf("0.")+1));

输出

  

.254000000000000003552713678800500929355621337890625