Re: [請益] double轉字串!!!
※ 引述《long0718 (孤獨)》之銘言:
: 0.01
: 0.010000000000000002
: 0.01
: 我寫作業時轉出的結果就是第2行..
: 可是我不懂..d明明也是0.01阿~~
: 轉出來的c為什麼跟a會不一樣呢>"<~~
: 能否請諸位高手為小弟解惑~~為什麼經過一個for loop轉字串結果
: 會跟直接令double轉字串結果不同
: 感激不盡~
基本上直接原因是浮點數精確度
主要是因為像十進位的0.1這種二進位的循環小數
在浮點數表示中只能近似 (電腦內部是二進位)
這些近似的數大約會有原數最高有效位數的10的負16次方倍~10的負17次方倍左右的誤差
所以乘一乘誤差就放大到看得出來了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 192.192.197.112
討論串 (同標題文章)