2017-03-16 30 views
1

我對JavaScript的math.js庫有關於函數簡化的問題。該函數返回0爲非常小的數字。 例如:爲什麼math.simplify(「1e-10」).math.js的toString()返回0?

math.simplify("1e-10").toString(); // returns 0 
math.simplify("sin(1.5)*1e-10").toString(); // returns 0 

這對小數字的計算並不好。 你知道如何解決這個問題嗎?

+0

我不是JavaScript專家,但該方法能理解科學語法嗎?它能得到'1e-10'是爲了'0.0000000001'而不是'1 * e-10'([e的定義](https://en.wikipedia.org/wiki/E_(mathematical_constant )))?它是否適用於像「1e-1」,「1e + 10」等數字? – Thomas

+0

謝謝,但math.simplify(「0.0000000001」)。toString();給出仍然0,只math.simplify(「1e-7」)。toString();返回「1/10000000」 – Sten

+0

在這種情況下,我想到的唯一的其他選項可能是精確的問題。從文檔看來,有一個可配置的「epsilon」,它可能已經從默認值「1e-14」改變了,並且因此庫可能決定1e-10基本上等於0. – Thomas

回答

相關問題