1
我觀察到在將KornShell(ksh)或Sqlite中的數學表達式與Google或Excel進行比較時,其結果並不相同。數學表達式適用於Google,但不適用於sqlite或KornShell。
首先把表達式下面在谷歌: 8 /(8 + 3)* 9 = 6.54545454545
現在請注意在KornShell以下:
> ksh
> echo $((2 + 3))
5
> echo $((8/(8 + 3) * 9))
0
# Now change the first 8 to a 12 (higher than 11) and it works....
> echo $((12/(8 + 3) * 9))
9
現在請注意相同的源碼:
sqlite> select 8/(8 + 3) * 9;
8/(8 + 3) * 9
0
sqlite> select 12/(8 + 3) * 9;
12/(8 + 3) * 9
9
如何使這個表達式在KornShell和sqlite中都能工作?
是,證實這是真實的ksh(看到你的答案前)。祝你們好運。 – shellter
是的,就是這樣!謝謝!!! – user1888167
這就是爲什麼像BC和DC這樣的應用程序存在。如果你的精度更高(保持在殼層),改變操作的順序(保持數學等值)以使最大的數字相除,並嘗試使分割的最小值出現。 – NeronLeVelu