Ruby中怎么解决Float型十进制小数运算问题

Python018

Ruby中怎么解决Float型十进制小数运算问题,第1张

在计算机几内部,小数不是按照四舍五入的方法的。因为计算机只有0和1,没有4和5,所以不能四舍五入的。 不管是float还是double,在处理末位时都是直接丢弃的。比如一个小数,应该是用33位二进制码才能完全表示的,但是float只有32位

查询核心模块Kernel API可知:

如果是Float类型则通过Kernel.Float(字符串)判断,这里不能转为浮点数则会抛出异常。你只需再捕获一下输出自己的信息就行。