有关小数点之后为0的问题
比如1.001 ,1.000。
现在的需求是:如果小数点之后为0,则直接返回整数1,否则返回原来的数值1.001。
实现方式一:
BigDecimal.stripTrailingZeros()方法 可以去除小数点之后为0的值,但是如果是100这类的 没有小数点,但是又正好是100、1000之类的数值,此时会出现问题,表示方式是科学计数法。解决办法:可以先判断传值是否是包含"." 包含的使用```BigDecimal.stripTrailingZeros() ```方法进行转换,不包含的直接返回即可。
实现方式二:
直接对传来的数据进行取整操作,比如A=1.001直接 1.001.intValue() 得到B=1(或者A=1.000 得到B=1) ,之后(A.CompareTo(B)==0)判断 如果相等 取整数值 ,否则直接取传来的值。
推荐使用第二种。