CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

为什么在javascript中 1.90-0.85=1.0499999999999998 ???????

楼主do2002(向您学习:))2002-12-01 00:11:55 在 Web 开发 / JavaScript 提问

这明显错的,那位仙人能解析一下吗。 问题点数: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中不能执行。

关键词

  • 数字
  • fractiondigits
  • 浮点
  • lailai
  • 小数点
  • 字符串
  • 精度
  • tofixed
  • 参数
  • 表示

得分解答快速导航

  • 帖主:do2002

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo