为什么在javascript中 1.90-0.85=1.0499999999999998 ???????
这明显错的,那位仙人能解析一下吗。 问题点数:0、回复次数:9Top
1 楼do2002(向您学习:))回复于 2002-12-01 01:25:25 得分 0
谁能告诉我 谁能告诉我
怎么解决呢 好奇怪 真奇怪 lai lailai lailai lailai
夜深了 没几个人了 哎 看来睡不着了Top
2 楼wubaozhang()回复于 2002-12-01 05:51:01 得分 0
呵呵,我在一本书上看到的是说javascript不是用于数值运算的,所以对数据运算的支持不是很好,象这种事是常有的,好象没什么好的解决办法,看将来的版本支持了
(参见powell.j javascript: complete reference 电子工业出版社 第一章)Top
3 楼qiushuiwuhen(秋水无恨)回复于 2002-12-01 09:56:44 得分 0
<script>
alert(qswhSub(1.90,0.85))
function qswhSub(n1,n2){
var r1,r2,m;
try{r1=n1.toString().split(".")[1].length}catch(e){r1=0}
try{r2=n2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
return (n1*m-n2*m)/m
}
</script>Top
4 楼onestab()回复于 2002-12-01 14:07:56 得分 0
精确到小数点后15位,应该够了吧?Top
5 楼do2002(向您学习:))回复于 2002-12-01 17:38:38 得分 0
是精确才好,问题是个错误呀Top
6 楼onestab()回复于 2002-12-01 17:52:28 得分 0
不是错误,是精度问题。
from mscript 5.6 文档:
浮点值
浮点值为带小数部分的数。也可以用科学计数法来表示。这就是说,大写或小写“e”用来表示 10 的次方。Jscript用数值表示的八字节 IEEE754 浮点标准。这意味着数字最大可以到 ±1.7976931348623157x10308,最小到 ±5x10-324。以“0”开始且包含小数点的数字被解释为小数浮点数。
Top
7 楼runmin()回复于 2002-12-02 10:48:38 得分 0
var a 这样的变量定义肯定很不准(弱类型性),因为你根本不知道它是float,或者是int,或者是个string。
所以,减法肯定是按照float做的,当然就遇到了精度的问题。Top
8 楼onestab()回复于 2002-12-02 11:22:08 得分 0
16位有效数字大多数情况下这个精度是足够了。(想象一下,假设全中国每个人有1百万根头发,结果某个人某天掉了一根头发)何况你的测量手段根本无法监测出来这样的误差。
Top
9 楼CXZ9(小笨笨)回复于 2002-12-02 11:35:08 得分 0
返回一个字符串,代表一个以定点表示法表示的数字。
numObj.toFixed([fractionDigits])
参数
numObj
必选项。一个 Number 对象。
fractionDigits
可选项。小数点后的数字位数。其值必须在 0 – 20 之间,包括 0 和 20。
说明
toFixed 方法返回一个以定点表示法表示的数字的字符串形式。该字符串中小数点之前有一位有效数字,而且其后必须包含 fractionDigits 数字。
如果没有 fractionDigits 参数,或者该参数为 undefined,toFixed 方法假定该值为 0。
要求
版本 5.5
=======================
◢◣。 ◢◣。
◢★◣。 ◢★◣。
◢■■◣。 ◢■■◣。
◢■■■◣。 ◢■■■◣。
︸︸||︸︸ !!︸︸||︸︸
愿您有快乐的每一天 ^_^!!
Top
相关问题
- javascript为什么在有的2000系统中不能运行
- 为什么在struts中得不到JAVASCript的路径呢?
- 急:请问以下在javascript中代码,为什么不对?
- javascript中为什么给textbox赋值为什么总不成功??
- 为什么javascript中 str1="image\"不正确
- JavaScript中得到日期在mozilla下不正确,在ie中正常,为什么?
- 为什么有些javascript的脚本在某些浏览器中不能运行?
- 为什么在子框架页面中无法调用javascript代码,急急
- 在网页中可以运行的javascript函数放在js文件中后提示缺少对象,为什么?
- 请问我在DREAMWEAVER里写的JAVASCRIPT在HTML文件里执行正常为什么在JSP中不能执行。




