原文:php浮点数计算比较及取整不准确解决方法

php有意思的现象,应该是很多编程语言都会有这样的现象。这个是因为计算机的本身对浮点数识别的问题.....

[php] view plaincopy
  1. $f = 0.58;
  2. var_dump(intval($f * 100 *100)); //结果5799
  3. var_dump((float)($f * 100 *100)); //结果5800
  4. echo (int)((0.1+0.7)*10);  //结果7
  5. echo (float)((0.1+0.7)*10);  //结果8
[php] view plaincopy
  1. <?php
  2. $a = 0.1;
  3. $b = 0.7;
  4. var_dump(($a + $b) == 0.8);
  5. //打印出来的值居然为 boolean false
[php] view plaincopy
  1. <?php
  2. $a = 0.1;
  3. $b = 0.7;
  4. var_dump(bcadd($a,$b,2) == 0.8);// bool true

在浮点数计算的时候,切记不要把浮点数转换成整形,否则会出现不可能预估的错误。

所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。

php浮点数计算比较及取整不准确解决方法相关推荐

  1. php浮点转int少1,PHP中浮点数计算比较及取整不准确的解决方法

    显然在这里,实际上作为浮点型数据,其精度已经损失了一部分,达不到完全精确.所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等.需要说明的是,这不是PHP的问题,而是计算机内部 ...

  2. Python 浮点数计算出十几位小数的解决方法

    0.1+0.2 Out[2]: 0.30000000000000004 3.14*19 Out[4]: 59.660000000000004 0.1*0.2 Out[5]: 0.02000000000 ...

  3. js怎么向上取整_JavaScript Math.ceil 方法(对数值向上取整)

    JavaScript Math.ceil 方法Math.ceil 方法用于对数值向上取整,即得到大于或等于该数值的最小整数.语法如下: Math.ceil(x) 参数说明: 参数 说明 x 必需.必须 ...

  4. math的向上取整_math的向上取整_JavaScript Math.ceil 方法(对数值向上取整)

    JavaScript Math.ceil 方法Math.ceil 方法用于对数值向上取整,即得到大于或等于该数值的最小整数.语法如下: Math.ceil(x) 参数说明: 参数 说明 x 必需.必须 ...

  5. python的三种取整方式_python 取整的两种方法

    问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2"的这一过程:现在我们给这个过程起一个名字叫"取整".那么 ...

  6. python取整的几种方法,Python中取整的几种方法小结

    Python中取整的几种方法小结 前言 对每位程序员来说,在编程过程中数据处理是不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理.取整的方式则包括向下取整.四舍五入. ...

  7. python向上取整的方法_python 取整的两种方法,python向上取整的方法,问题简介:  要把一...

    python 取整的两种方法,python向上取整的方法,问题简介: 要把一 问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2" ...

  8. C 语言取整的几种方法

    C 语言取整的几种方法 1.doublex;   2.printf("%d",int(x))  取整;   3.printf("%d",int(x+0.5)) ...

  9. 计算机取整函数用法,【Excel】数值取整的n种方法

    原标题:[Excel]数值取整的n种方法 有同学提出疑问 "为什么我已经取了2位小数, 粘贴到另一个单元格, 那些后面的小数位又出来了呢?" 同学,你不会把显示小数位设置 误以为是 ...

最新文章

  1. Office 2003出现发送错误报告怎么办
  2. 二、1、怎么做都好做,没flag就抓包
  3. 一图看懂hadoop分布式文件存储系统HDFS工作原理
  4. git之Pushing to the remote branch is not fast-forward错误解决
  5. 《人生不设限》力克的生命故事
  6. pp助手苹果版本_PP助手、百度助手相继下线,越狱时代宣告落幕,你曾越狱过吗?...
  7. python水果超市管理系统流程图_项目1-水果超市管理系统-学生
  8. 100m光纤测速多少正常_100M的光纤电信宽带,用手机测速时,为什么只有40M?
  9. Idea之配置GitLab ssh key
  10. 反馈抑制器设计的技术要点
  11. 正版软件汇集,遥感集市
  12. 单片机模拟iic从设备-主要代码(2)
  13. Boardcast Receiver 源码分析:广播的动态注册、发送和接收过程
  14. 机器人专业需要学习那些理论知识
  15. 玩PyTorch?你不得不看的PyTorch资源大列表
  16. Java 复习之多线程
  17. 单片机实验笔记(汇编、Proteus仿真)(下)
  18. hadoop集群HA模式(JN+ZK)+yarn搭建
  19. 《培根随笔》读书笔记(二)
  20. 盲盒App平台盈利模式

热门文章

  1. 柳传志大声对iphone说:这是在中国!
  2. CentOS yum源
  3. 数据库事务的隔离级别 (转)
  4. Angularjs 中select回显后重复选项的解决
  5. 在C++工程中设置全局函数
  6. apu和atom处理器两者的定位
  7. Servlet的Web应用---三种方法获取表单的各种属性(源码)
  8. eclipse安装反编译插件(附jad下载)
  9. HDU-1789-Doing Homework again
  10. 轻量函数式 JavaScript:八、列表操作