计算误差55-0.04=54.96000000000123

[超文本标记语言]
PUBLIC"-//W3C//DTD XHTML1.0过渡//en"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
游戏
Var t=60;
Var int=self.setInterval("Clock()",40)
功能时钟()
{
T=t-0.04;//=这里有问题=
Document.getElementByID("lock").innerHTML=t;
}
->
[/html]
这个计算有什么问题吗?
我做错了什么吗?还是那是个袋子?
收到的任何帮助和想法
问好
JX2

# 回答1


你好,JX2.
所有语言都存在浮点精度问题.
解决此问题的最简单方法是将所有内容乘以100:

选择 | 换行 | 行号
  1. var t = 6000;
  2.  
  3.     var int=self.setInterval("clock()",40)
  4. function clock()
  5.   {
  6.     t -= 4;
  7.     document.getElementById("clock").innerHTML=t;
  8.   }
  9.  
# 回答2


是的,我知道--我照你说的做了--但这怎么可能呢?这是数学,不是吗?
关于JX2
# 回答3


阅读有关浮点的内容
精确度问题
.

标签: Javascript

添加新评论