javascript中进行数字转换的时候,有些不对劲,谁帮我看看啊

[复制链接]
查看11 | 回复2 | 2010-7-11 15:02:54 | 显示全部楼层 |阅读模式
无标题页















//为什么alert出来的数字,比输入的数字有时候会小0.01了,这是怎么回事啊

回复

使用道具 举报

千问 | 2010-7-11 15:02:54 | 显示全部楼层
这个问题不是有人答过了吗?Math.floor(f)函数,是取比f小的最大整数。比如Math.floor( 5.7 ) == 5Math.floor( 0.3 ) == 0Math.floor( -1.4 ) == -2四舍五入是Math.round(f)取整用 parseInt(str),比如 parseInt( "5.5" ) = 5上面的是上一次看到这个问题后面的回答,但经过调试,发现不是取整的问题,而是JavaScript浮点运算的问题,你猜这个会输出什么:alert(12*.3) //输出 3.6 ?试过之后会觉得很意外吧,我刚才把下面的值输出了也感到很意外:alert([(s/10
回复

使用道具 举报

千问 | 2010-7-11 15:02:54 | 显示全部楼层
正常,所有的编程语言都有这样的特性,比如浮点数2-1,得到的结果不一定是1,有可能是1.00000000001所以需要判断一下,进行四舍五入之类
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行