我想删除十进制数中的前导零。
所以我希望输出应该是
.324
不
0.324
。
我试过str.replaceFirst("^0+(?!$)", "");
没有工作,我也尝试了正则表达式!
没有结果!
是的,我正在使用BigDecimal。
答案 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