学习intval中遇到的问题

来源:互联网 发布:dm单宣传彩页网络平台 编辑:程序博客网 时间:2024/06/09 18:15

学习intval中遇到的问题:

 

$r = 0.1; 

for($a = 1; $a < 10; $a++){ 

$r += 0.1; 

echo "<br />intval('$r') = ".intval($r); 

 

 

 

打印出结果  intval('1') = 0;

 

========================

如果我 初始化 $r = 0.8;

 

累加到1时;打印出结果  intval('1') = 1;

 

打印结果:

intval('0.2') = 0 
intval('0.3') = 0 
intval('0.4') = 0 
intval('0.5') = 0 
intval('0.6') = 0 
intval('0.7') = 0 
intval('0.8') = 0 
intval('0.9') = 0 
intval('1') = 1

 

========================

我用javascript写了一下0.1累加0.1 的程序

 

<script>

var str=0.1;

var bb="";

for(var i=1;i<20;i++){

str +=0.1;

bb += "<br />('"+str+"') ";

}

document.getElementById("aa").innerHTML=bb;

</script>

 

 

得出的结果很吃惊;

 

('0.2') 
('0.30000000000000004') 
('0.4') 
('0.5') 
('0.6') 
('0.7') 
('0.7999999999999999') 
('0.8999999999999999') 
('0.9999999999999999') 
('1.0999999999999999') 
('1.2') 
('1.3') 
('1.4000000000000001') 
('1.5000000000000002') 
('1.6000000000000003') 
('1.7000000000000004') 
('1.8000000000000005') 
('1.9000000000000006') 
('2.0000000000000004') 

 

这个估计只能用汇编语言解释了 

有没有汇编的高手给指点一下

 

原创粉丝点击