php - 问个类型转化的问题,float类型转int,觉得可能会出问题,但结果并没有?
过去多啦不再A梦
过去多啦不再A梦 2017-06-12 09:19:20
[Java讨论组]

譬如把float类型的2.0000000000转化为int,底层存储的应该是1.999999999999999这样的吧,有精度限制的,所以当我把这个数转int的时候,觉得会变成1(丢弃小数部分了)
但测试了几个语言,都还是正确的(php,java,go,js)
php:

js:

go:

java:

过去多啦不再A梦
过去多啦不再A梦

全部回复(6)
滿天的星座

2.0是可以被浮点数精确表达的 这个数不应该出问题

我想大声告诉你

小数的存储用科学记数法存储,并不是1.999999...,在强转的过程中是做处理的,不是直接转换个类型

漂亮男人

一般来说都是低精度转高精度,比如int->float,高精度转低精度,是要丢失精度,数据结果可能会变得很诧异的。

阿神

几个经典的例子

(int)(0.57 * 100)

(int)((0.1+0.7)*10)

世界只因有你

没啥太实际的意义,假如真的是你这样想的情况运作的话,设计这门语言的人肯定会考虑到的

具体了解需要一定的汇编原理,所以不要太钻牛角尖啦

巴扎黑

可以问一下,你这个编程面板是哪里下载的吗?好像不错呀

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号