作者yellowfishie (喵喵喵喵~~~)
看板NTUGIEE_EDA
標題Re: [轉錄]Re: [問題]請問如何四捨五入...
時間Sat Mar 18 00:21:42 2006
※ 引述《yellowfishie (喵喵喵喵~~~)》之銘言:
: 標題: [轉錄]Re: [問題]請問如何四捨五入...
: 時間: Fri Mar 17 22:02:32 2006
: 推 crazying:你都取 floor 還不一樣就不會是 rounding 的問題了 = =a 03/17 23:37
: 推 crazying:把每個變數的值都印出來看好了 03/17 23:40
0.576923 = 45/78; 0.433333 = 39/90
solaris:
F = 2288000*0.576923 + 5250000*0.433333 = 3.595e+06
ori: 3.595e+06
(int) floor cast: 3595000
linux:
F = 2288000*0.576923 + 5250000*0.433333 = 3.595e+06
ori: 3.595e+06
(int) floor cast: 3594999
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.92.244
1F:推 moonshade: 喔 喔喔...這個我有碰過... 03/18 00:23
2F:→ moonshade:非常之奇妙,原因是陰為他們兩個小數點一下的數 03/18 00:23
3F:→ moonshade:就不同,你把他*1e6 看他小數點以下的位數 03/18 00:24
4F:推 moonshade:我覺得這是浮點運算的問題 03/18 00:26
5F:推 yellowfishie:乘1e6後 印出來的是 3.595e+12,int 則會爆掉。 03/18 00:29
※ 編輯: yellowfishie 來自: 61.220.92.244 (03/18 00:41)
※ 編輯: yellowfishie 來自: 61.220.92.244 (03/18 00:53)
6F:→ moonshade:我看錯了Orz...是除...XD 03/18 02:20
7F:→ moonshade:總之,我要說的是這個不是round的問題.. 03/18 02:21
8F:→ moonshade:應該是計算的時候出來就這樣了 03/18 02:21