Android OS 的計算機程式小 bug...?!

網路上有人發現使用Android內建的計算機程式去做 14.52減去14.49,結果卻是0.0299999999?
我也不信的去試了一下手邊的Android手機(DZ),還真的是前述的結果,另外也做了其他運算...

11.52-11.49
12.52-12.49
13.52.13.49
15.52-15.49

這四組的結果也都是0.0299999999的錯誤結果。

這是OS本身內建的程式BUG?還是手機的問題?
不過也不是很大的問題啦,有其他計算機程式可以替代。
2011-03-19 2:03 發佈
真的耶! 我的是 DHD...

用內建的小算盤計算結果真的有問題...

如果用其它的計算機程式如: RealCalc 就是正常的結果 0.03

可能是"小算盤"程式本身的 bug 吧...
我的也是耶
MILESTONE測的
我在ptt有回應這個問題了...


我寫個Android程式驗證是否是變數資料型態的問題

以14.52 - 14.49當作例子

1. 變數宣告為浮點數 (float)
14.52 - 14.49 = 0.030000687



2. 變數宣告為倍精度浮點數 (double)
14.52 - 14.49 = 0.02999999999999936



3. 變數宣告為整數 (int)
14.52 - 14.49 = 0



所以...Google做的計算機,資料型態應該是宣告成double才會造成這個問題

我覺得Google根本是懶得理這個問題,多設幾個條件式就可以避免這問題了吧

無聊的可以下載這個apk去玩玩看...(按menu有設定可以選擇float、double及int)

附加壓縮檔: 201103/mobile01-3b68e66bb6b1a257d5019c35dab25530.zip
joy1210 wrote:
網路上有人發現使用A...(恕刪)

我試 11.52-11.49
計算機是 0.03
Desire(原汁原味) Android OS 的計算機程式是 0.0299999999

Android OS 的計算機程式也只用在簡單的計算中
Mobile01 發言無益,答案發言?益於商人。

rocky1218 wrote:
我在ptt有回應這個...(恕刪)

感謝大大解惑...
除了內建的計算機以外,我還裝了三款比較強一點的計算機,測試過後都沒有範圍內浮點數只取近似值的問題。這邊分享給大家參考。

RealCalc Scientific Calculator

handyCalc Calculator

Scientific Calculator

希望大家可以分享一下自己覺得好用的計算機軟體。因為興趣的關係,我常常會用到計算機,所以希望能找到更棒的計算機軟體。 :)
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?