关于精度问题,大概很多做过金融方面的小伙伴都不会陌生。特殊是前端的同砚,假如你在 js 中实行 1.1+2.2 ,获得的结果往往不会如你所愿。这就要说到浮点数的存储问题了。我们都知道,在程序世界中,任何数据实在在底层都是以二进制的形式存在的。而浮点数,则由于小数点的存在,在存储时更为复杂,所以就会经常出现这类精度丢失的问题。
但是很多人会很奇怪,在 PHP 中直接实行 1.1+2.2 的结果是正确的呀,好像并不存在这种精度丢失的问题。呵呵,那只能说您 too young to simple 了。精度丢失的问题并不是哪个语言的问题,基本上所有语言都会存在这样的问题,只是体现的形式不一样。
bc 精度运算