删除前导0直到小数

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

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

试试这个

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

如果您尝试格式化值为0.324.324 BigDecimal 。 然后下面的工作

  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 

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

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

产量

.254000000000000003552713678800500929355621337890625