设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
总结PHP中数值计算的注意事项
返回列表
查看:
837
|
回复:
0
总结PHP中数值计算的注意事项
[复制链接]
wx_pylelnL4
当前离线
积分
7532
2536
主题
2536
帖子
7532
积分
论坛元老
论坛元老, 积分 7532, 距离下一级还需 9992467 积分
论坛元老, 积分 7532, 距离下一级还需 9992467 积分
积分
7532
发消息
电梯直达
楼主
发表于 2018-2-14 05:33:37
|
只看该作者
|
倒序浏览
|
阅读模式
一:四舍五入
1.round — 对浮点数进行四舍五入
float round ( float $val [, int $precision ] )
2:floor — 舍去法取整(向下取整)
float floor ( float $value )
3.ceil — 进一法取整(向上取整)
float ceil ( float $value )
坑点:
当数值为整数的时候 例如 11 那么floor(11) = 10 , ceil (11) = 12; 问题显而易见,所以计算的时候要格外注意这一点
解决方法 :
floor(11 + 0.01);
二:整数和小数相乘除
坑点:
3.5 * 100 = 300 ,就算你数学再好也没用,在php世界里这就是真理,如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如echo intval( 0.58*100 );会打印57,而不是58,这个其实是计算机底层二进制无法精确表示浮点数的一个bug,是跨语言的,我用python也遇到这个问题。所以基本上大部分语言都提供了精准计算的类库或函数库,比如php有BC高精确度函数库
解决方法:
就是将整型变成浮点型 3.5 * (float)100 = 350
三:浮点数的怪异
坑点:
8.50 – 8 = 0.500000001 其实原因和2差不多
解决方法:
将结果进行round(),提高精度即可
总结
以上就是PHP数据计算的注意事项的全部内容,希望本文的内容在大家在PHP中进行数据计算的时候能有所帮助。
您可能感兴趣的文章:
php 数学运算验证码实现代码
第四章 php数学运算
PHP概率计算函数汇总
PHP数学运算函数大汇总(经典值得收藏)
PHP数学运算与数据处理实例分析
PHP入门教程之数学运算技巧总结
PHP精确计算功能示例
php计算多个集合的笛卡尔积实例详解
php编程实现简单的网页版计算器功能示例
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
PHP使用数组实现矩阵数学运算的方法示例
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端