如何去掉小数点后多余的0
privatejava.math.BigDecimalA;publicjava.math.BigDecimalgetA(){returnA;}publicvoidsetA...
private java.math.BigDecimal A;
public java.math.BigDecimal getA() {
return A;
}
public void setA(java.math.BigDecimal a) {
A = a;
}
如何把返回的A纸后面多余的0去掉,比如1000会显示成1000.0000,1000.25会成1000.2500,要把多余的0去掉 直接在上面改或者写一个转换成String的方法 详细点
不知道如何用getA()返回的值作为参数,调用2楼的removeTailZero方法,而且返回的String getA()要返回一个BigDecimal 类型的 展开
public java.math.BigDecimal getA() {
return A;
}
public void setA(java.math.BigDecimal a) {
A = a;
}
如何把返回的A纸后面多余的0去掉,比如1000会显示成1000.0000,1000.25会成1000.2500,要把多余的0去掉 直接在上面改或者写一个转换成String的方法 详细点
不知道如何用getA()返回的值作为参数,调用2楼的removeTailZero方法,而且返回的String getA()要返回一个BigDecimal 类型的 展开
展开全部
将你getA()返回的值作为参数,调用下面的方法,返回的String就是你想要的结果
public String removeTailZero(BigDecimal b) {
String s = b.toString();
int i, len = s.length();
for (i = 0; i < len; i++)
if (s.charAt(len - 1 - i) != '0')
break;
if (s.charAt(len - i - 1) == '.')
return s.substring(0, len - i - 1);
return s.substring(0, len - i);
}
public String removeTailZero(BigDecimal b) {
String s = b.toString();
int i, len = s.length();
for (i = 0; i < len; i++)
if (s.charAt(len - 1 - i) != '0')
break;
if (s.charAt(len - i - 1) == '.')
return s.substring(0, len - i - 1);
return s.substring(0, len - i);
}
展开全部
满 意回答回把整数后面的0也去掉了,可以换下面的方法:
public String removeTailZero(BigDecimal b) {
String s = b.toString();
return s.replaceAll(("(\\d+\\.\\d*[1-9])0+$"), "$1");
}
public String removeTailZero(BigDecimal b) {
String s = b.toString();
return s.replaceAll(("(\\d+\\.\\d*[1-9])0+$"), "$1");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询