→ celestialgod: rounding error 11/26 11:39
→ celestialgod: sprintf("%.15f", (1-0.9)*100) 11/26 11:40
→ celestialgod: [1] "9.999999999999998" 11/26 11:41
→ ching0629: 謝謝,所以我可以了解一下到底R裡面再算(1-0.9)實際上是 11/26 11:42
→ ching0629: 如何做的?不然我沒有辦法預防這個bug 11/26 11:42
→ celestialgod: as.integer是truncated 11/26 11:44
→ celestialgod: 用round應該會比較好 11/26 11:44
→ ching0629: 舉個例子來說,sprintf("%.200f", (1-0.60)*100)還是能 11/26 11:44
→ ching0629: 整除的樣子 11/26 11:44
→ celestialgod: 0.6在二進位可能是可以完整表示的吧 11/26 11:45
→ ching0629: 謝謝,那我以後在as.integer內都加上round 11/26 11:45
→ celestialgod: 恩,晚點看看wush大大有沒有更好的建議XDD 11/26 11:46
→ ching0629: 那我要提醒大家特別注意了,因為sample函數內有as.inte 11/26 11:47
→ ching0629: ger,所以抽樣前要很確定你放進去的參數是整數 11/26 11:47
→ celestialgod: sample的size本來就只能放integer 會有as.integer 11/26 11:52
→ celestialgod: 不意外xd 11/26 11:52
→ ching0629: 是不會太意外,但這個bug很少出現,測試的時候可能會沒 11/26 11:52
→ ching0629: 意,但實際執行的時候才會出現bug導致程序崩潰 11/26 11:53
→ celestialgod: 恩 是阿QQ as.integer是truncate,也是今天才知道 11/26 11:53
→ celestialgod: 這應該不能說是bug拉QQ 11/26 12:02
推 andrew43: 很可能有用,雖然應該都還沒碰到。 11/27 03:43