2013-05-10 40 views
1

嗨我似乎無法解決如何增量添加一個非常小的數字?PHP問題添加0.001到0.001?

$val = 0.000000001; 
$add = 0.000000001; 
for ($i=0; $i < 100; $i++) { 
    $val = bcadd($val, $add, 9); 
    echo $val.'<br>'; 
} 

// echo 
// 0.000000000 
// 0.000000000 
// . . . 

任何人都可以幫忙嗎?

+0

這是關於數字的表示和精確度。我會給你鏈接浮動數字的解釋,你應該閱讀這篇文章http://www.codeproject.com/Articles/29637/Five-Tips-for-Floating-Point-Programming – Robert 2013-05-10 08:57:30

+3

bcadd()期望字符串表示形式數值,不浮點數 – 2013-05-10 09:01:09

+1

將$ val和$ add更改爲字符串,例如把它們放在引號中。那麼它會工作。 – Gordon 2013-05-10 09:01:26

回答

1
<?php 
$val = "0.000000001"; 
$add = "0.000000001"; 
for ($i=0; $i < 100; $i++) { 
    $val = bcadd($val, $add, 9); 
    echo $val.'<br>'; 
} 
exit; 

?> 

它工作:)有些同事解釋說,bacadd需要參數是字符串。