2015-09-10 18 views
2

當我嘗試綁定長度大於17位數的十進制數值以敲除observable屬性時,我面臨着knocukout的不均勻行爲。

問題的解釋:我們在不同的地方輸入12345678987654321的值爲小數。 情況1:如果值是123456789.87654321它導致= 123456789.87654321
情況2:如果值是1234567.8987654321它導致= 1234567.8987654322
情況3:如果值是12345678.987654321它導致= 12345678.98765432
情況4(無小數):如果值是12345678987654321它的結果= 12345678987654320.
請參閱JS小提琴鏈接的評論。淘汰賽中的小數值舍入問題

有什麼建議嗎?或者我們可以應用的任何Javascript或任何挖掘屬性來避免這種不平衡的行爲?

+0

問題的小提琴鏈接:http://jsfiddle.net/LkqTU/26669/ –

+1

可能的重複:http://stackoverflow.com/questions/1086575/how-can-i-handle-numbers-bigger-比-17-digits-in-firefox-ie7 – Dandy

+0

@Dandy:這個解決方案看起來挺老的,我們不是有一個淘汰賽的財產來解決這個問題嗎?即使它適合案例1的結果。所以尋找一些解決其他案件的工作。 –

回答

1

Knockout並不關心修復所有JavaScript缺點。它的存在是讓你的數據模型脫離你的視野。對於其他問題,您需要查看其他解決方案。一些數學庫被討論here