echo number_format(19.99 * 100, 20); // output:1,998.99999999999977262632
为什么会这样?浮点型是怎么存储的。我的想法可能是浮点型本来就不是精确存储的。
解决了这个问题也就知道为什么intval后的值是1998了。
回复内容:
echo number_format(19.99 * 100, 20); // output:1,998.99999999999977262632
为什么会这样?浮点型是怎么存储的。我的想法可能是浮点型本来就不是精确存储的。
解决了这个问题也就知道为什么intval后的值是1998了。
浮点数的存储精度跟系统有关,php 通常使用 ieee 754 双精度格式,默认是20位有效精度。floating point numbers
浮点数使用指南
贴上中文的浮点型 http://php.net/manual/zh/language.types.float.php
iWebShop基于iWebSI框架开发,在获得iWebSI技术平台库支持的条件下,iWebShop可以轻松满足用户量级百万至千万级的大型电子商务网站的性能要求。站点的集群与分布式技术(分布式计算与存储/高可用性/负载均衡)被屏蔽在SI 平台之内,基于iWebShop并且按照SI平台库扩展规范开发的新增功能模块,也将同时获得这种超级计算与处理的能力。作为开源的LAMP电子商务系统,iWebShop









