有关小数点之后为0的问题

简介: 有关小数点之后为0的问题

有关小数点之后为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)判断 如果相等 取整数值 ,否则直接取传来的值。

推荐使用第二种。


相关文章
|
3月前
|
存储 Python
整数和浮点数。
整数和浮点数。
28 7
|
7月前
|
算法
实现一个标准数字字符串四舍五入截取不指定位数的小数
实现一个标准数字字符串四舍五入截取不指定位数的小数
49 0
|
7月前
|
数据挖掘 C++
C++中的科学计数法
C++中的科学计数法
1255 0
|
C++
C++ 输出特定位数小数
C++ 输出特定位数小数
143 0
求整数的位数及各位数字之和
求整数的位数及各位数字之和
105 0
|
编译器 C++
C++ 字符串转浮点数,包括整数、小数和科学记数法
C++ 字符串转浮点数,包括整数、小数和科学记数法
635 0
5.1.7_定点小数
计算机组成原理之定点小数
572 0
十进制与二进制转换(负数+正数)
十进制与二进制转换(负数+正数)
359 0
十进制与二进制转换(负数+正数)
06:浮点数向零舍入
06:浮点数向零舍入
219 0