作者LPH66 (凉宫春日症候群)
看板java
标题Re: [请益] double转字串!!!
时间Thu Oct 12 00:53:10 2006
※ 引述《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