本文純屬一點無聊的想法,甚至是謬論,希望讀者不用太較真。
在計算器出現以下截圖的計算結果,通常可以直接判定為計算錯誤(bug)。但換一種場景模式,這種結果也許挺符合人類交流的預期結果。
從左到右4個截圖:
1)按常識而言:10%+10%=0.2;
2)按常識而言:10%+10%+10%=0.3;
3)按常識而言:50%+50%=1;
4)按常識而言:25%+50%=0.75;
但截圖的實際計算結果,邏輯應該是如下:
1)10%*(1+10%)=0.11;
2)10%*(1+10%)*(1+10%)=0.121;
3)50%*(1+50%)=0.75;
4)25%*(1+50%)=0.375;
由上述分析,可以將「+」解釋為「在前者的基礎上再加x%」。
對於計算器而言,10%+10%算是一次性輸入,那麼計算結果20%是沒有問題的。
但我們實際表達時,10%+10%常常會被說成"先給10%再加10%",再讓機器去理解這句話,那麼結果應該是10%(1+10%)。
如果場景換為語音輸入的模式,那麼上面的計算結果可能算是計算機領域的一大進步吧。
php 百分數 php 百分數如何轉小數
php百分數轉小數的方法 首先建立乙個php示例檔案 然後定義乙個百分數 接著通過 float a 100 方法將百分數轉為小數 最後通過echo輸出轉換後的小數即可。php百分數轉小數,php 小數轉換百分數函式 阿星小棧 php百分號轉小數 a 20.544545 echo float a 10...
python百分數小數
百分比轉換位小數 coding utf 8 s 20 預設要轉換的百分比是字串 aa float s.strip 去掉s 字串中的 bb aa 100.0 執行環境是python2.7 其中python2.x 與 python 3x中的除法是有區別 print bb 輸出結果是 0.2 小數轉換位百...
C 基礎 百分數
double a 50 double b 100 沒有小數部分 label1.text a a b tostring 0 兩位小數 label2.text a a b tostring p tostring 0.00 tostring p3 可以設定精度 方法一 能得到你想要的小數點後位數 doub...