java.math.BigDecimal 去掉多余的(0)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.math.BigDecimal 去掉多余的(0)相关的知识,希望对你有一定的参考价值。

private java.math.BigDecimal FundsTotal;public java.math.BigDecimal getFundsTotal()
return FundsTotal;

public void setFundsTotal(java.math.BigDecimal fundsTotal)
FundsTotal = fundsTotal;
输入1000的话 显示的是1000.0000 怎么去掉多余的0

用toString()转换成字符串后,再用substring来截取小数点之前的内容。String strNumber=FundsTotal.toString();strNumber=strNumber.substring(0, strNumber.lastIndexOf(".")); 参考技术A 把 public java.math.BigDecimal getFundsTotal()
return FundsTotal;

改为public BigInteger getFundsTotal()
return FundsTotal.toBigInteger();

java.math.BigDecimal类multiply的使用

其实java的float只能用来进行科学计算或工程计算,在大多数的商业计算中,一般采用java.math.BigDecimal类来进行精确计算。
在使用BigDecimal类来进行计算的时候,主要分为以下步骤:
1、用float或者double变量构建BigDecimal对象。
2、通过调用BigDecimal的加,减,乘,除等相应的方法进行算术运算。
3、把BigDecimal对象转换成float,double,int等类型。
一般来说,可以使用BigDecimal的构造方法或者静态方法的valueOf()方法把基本类型的变量构建成BigDecimal对象。

BigDecimal b1 = new BigDecimal(Double.toString(0.48));
BigDecimal b2 = BigDecimal.valueOf(0.48);


public BigDecimal add(BigDecimal value);//加法
public BigDecimal subtract(BigDecimal value); //减法 
public BigDecimal multiply(BigDecimal value); //乘法
public BigDecimal divide(BigDecimal value); //除法

通过这些方法进行结果的计算,最后进行精度确定

new BigDecimal("1225.125").setScale(2, RoundingMode.HALF_UP)
new BigDecimal("1225.121").setScale(2,BigDecimal.ROUND_HALF_UP)

.setScale后面一定要带上进度算法,要不然会因为精度丢失问题,出现内部错误

以上是关于java.math.BigDecimal 去掉多余的(0)的主要内容,如果未能解决你的问题,请参考以下文章

Java.math.BigDecimal类

java.math.BigDecimal类multiply的使用

java.math.BigDecimal 不能转换为 java.lang.String?

求大神帮忙解决问题,JAVA中用BigDecimal计算完之后,想要有以下结果,怎么处理?

javaJava.math.BigDecimal.subtract()方法实例

java.math.BigDecimal