在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ javaScript中的數(shù)字精度控制問題

javaScript中的數(shù)字精度控制問題

javaScriptde decimal.js庫怎么控制數(shù)字的精度

function round(x, y) {
  const a = new Decimal(x).round();
  Decimal.set({ precision: 2, rounding: y });
  return a;
}

console.log(round("1235.1235", 1).valueOf()); // 1235

上邊是代碼,不知道問題出在哪里

回答
編輯回答
淚染裳

你沒有說想要的結果是什么。
看了下文檔感覺round的作用就是取整吧。
如果要實現(xiàn)控制位數(shù)的話,用toExponential, toFixed和toPrecision方法吧。

x = new Decimal(255.5)
x.toExponential(5)              // '2.55500e+2'
x.toFixed(5)                    // '255.50000'
x.toPrecision(5)                // '255.50'
2018年4月25日 11:29
編輯回答
不二心

由于js是一種弱類型語言,而計算機能夠讀取的數(shù)字只有0&1,所以一些浮點數(shù)會轉換成0&1后再進行運算,所以會出現(xiàn)這種精度丟失的問題,我目前了解到的有三種方式:
1.bignumber.js 通過這個js庫來進行計算;
2.將需要運算的數(shù)進行乘以10的n次冪,運算之后再去處以10的n次冪,即可得到準確的數(shù)字;
3.對運算后的數(shù)進行toFixed(),但是這種方法一樣會丟失精度,不推薦使用;
4.純手打,望采納

2017年6月4日 13:36