关于精度损失的原理可以很简单的讲,首先一个正整数在计算机中表示使用01010形式表示的,浮点数也不例外。
比如11,11除以2等于5余1
5除以2等于2余1
2除以2等于1余0
1除以2等于0余1
所以正整数可以完整地表述出来。
但是小数,0.5使用二进制表示0.1,
如果是0.99
0.99*2——1
0.98*2——1
0.96*2——1
如此以往,表示该数所需位数超出了数值类型的限制,因此无法真正准确表达该数。
因此我们为了避免这个问题,需要使用string类型来储存数据,在使用时转化为对应的数据类型即可。