2009-01-29 112 views

回答

9

看來這輪是問題所在。 我用number_format()改了它,這樣做的工作就好了。 謝謝阿倫和保羅的答案。

+0

如果您對答案感到滿意,您可以考慮將其中一個標記爲「已接受」 – 2009-01-29 11:19:22

2

可能與此bug report,所以你可以嘗試

printf("%d", $myvar); 
7

關係到你的問題,我還隔着this comment附帶的PHP網站上。從標準的十進制 符號來指數符號

PHP開關,用於 某些「特殊」的彩車。你可以看到這樣 「特殊」 值與此部分列表:

for($tmp = 0, $i = 0; $i < 100; $i++) 
{ 
    $tmp += 100000; 
    echo round($tmp),"\n"; 
} 

因此,如果您添加兩個浮體,結束了 一個「特殊」的值,例如1.2E + 6,然後 把該值不進行修改成 更新查詢存儲在 十進制列中的值,也就是說,你可能會得到 一個失敗的交易,因爲 數據庫會看到「1.2E + 6」爲varchar 數據,不是小數。同樣,如果 將值放入xml,您將會遇到 XSD驗證錯誤。

我必須說實話:這是 我已經看到 任何語言在超過20年 編碼的最奇怪的事情之一,它是一個巨大的痛苦 解決辦法。

看來還沒有一個「真正的」修復,但從早些時候的評論bug report Paul Dixon referered to來看,他的解決方案似乎工作。