一个很笨的问题,但可能难倒一部人
时间:2011-10-30
来源:互联网
今日在 用PHP做一个简单的计算时碰到一个怪事:
输入的 除数和被除数 都是整形,但是echo 输出的却是浮点数....怪事
我以为眼镜花了,但仔细检查了一下表达式,确实没错,换个文件重写、重启apache还是不行
最后 只能用函数把他转换后才能 得到整数的结果.
我的猜测是这样的:
输入的整数 默认被认为是浮点数,如:
2==>2.0
被 认为是浮点数有个好处:
精度高,且他是大类型,可以装下小类型,所以PHP默认就会用它
因为类型没有具体的说明,所以 除数和被除数 都隐式地被认为是浮点数,浮点数计算出来当然是浮点数
若 用 强制转换(int) 6/3 应该就是整数了,不用函数来转换
输入的 除数和被除数 都是整形,但是echo 输出的却是浮点数....怪事
我以为眼镜花了,但仔细检查了一下表达式,确实没错,换个文件重写、重启apache还是不行
最后 只能用函数把他转换后才能 得到整数的结果.
我的猜测是这样的:
输入的整数 默认被认为是浮点数,如:
2==>2.0
被 认为是浮点数有个好处:
精度高,且他是大类型,可以装下小类型,所以PHP默认就会用它
因为类型没有具体的说明,所以 除数和被除数 都隐式地被认为是浮点数,浮点数计算出来当然是浮点数
若 用 强制转换(int) 6/3 应该就是整数了,不用函数来转换
作者: csdaa2010 发布时间: 2011-10-30
number_format
作者: PhpNewnew 发布时间: 2011-10-30
没碰到过 6/3 能成浮点数据的情况。而且,只有在两数类型不同时,才会进行自动提升类型的转换。不能整除的情况下,得出的结果才是浮点型。
作者: ZT_King 发布时间: 2011-10-30
为什么 不能整除 时,会出现浮点数??
作者: csdaa2010 发布时间: 2011-10-30
该回复于2011-10-30 17:26:04被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#5楼 得分:0回复于:2011-10-30 17:21:42
|
作者: airsethh 发布时间: 2011-10-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28