[問題] 很疑惑的錯誤輸出
最近在跑一些自己寫的應用程式, 平台是 Linux + g++ 3.4.6
發生了一個錯誤如下:
double a = "123456710.0" <-----此數值為計算出來的 而且一定沒有小數部分
long b = (long)a;
此時b的值會變成 "123456709", 這邊的數字不是實際例子, 因為有時候會發生有時候不會
整個摸不著頭緒阿......
一般把浮點數cast成整數類型不就是把小數點以下給砍掉嗎??? 怎麼結果連整數位
都變掉了?? 請問各位先進幫忙解惑一下 有誰遇過相同的問題嗎???
謝謝各位~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.197.173
推
05/04 22:18, , 1F
05/04 22:18, 1F
→
05/04 22:19, , 2F
05/04 22:19, 2F
→
05/04 22:19, , 3F
05/04 22:19, 3F
→
05/04 22:20, , 4F
05/04 22:20, 4F
→
05/04 22:20, , 5F
05/04 22:20, 5F
→
05/04 22:22, , 6F
05/04 22:22, 6F
→
05/04 22:22, , 7F
05/04 22:22, 7F
→
05/04 22:23, , 8F
05/04 22:23, 8F
→
05/04 22:25, , 9F
05/04 22:25, 9F
→
05/04 22:25, , 10F
05/04 22:25, 10F
→
05/04 22:27, , 11F
05/04 22:27, 11F
→
05/04 22:30, , 12F
05/04 22:30, 12F
→
05/04 22:30, , 13F
05/04 22:30, 13F
推
05/04 23:20, , 14F
05/04 23:20, 14F