Ember.js将大十进制数四舍五入



我需要帮助。我正在尝试在数组中推送一个 ember 对象,当我推送一个对象时,余烬将大十进制数 9999999999999999.99 转换为 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 如果数字大于 14,则对值进行舍入。

这是代码

var editableRows = [];
editableRows.pushObject(Ember.Object.create({bigNumber: 999999999999999999.99}));
console.log(editableRows);
Class {bigNumber: 1000000000000000000, __ember1484840094341: null, __ember_meta__: Meta}

有没有办法防止余烬的这种默认行为?

这是javascript(或任何语言)的预期行为。(查找 IEEE 754 了解更多信息)。

您应该保留两个数字(小数位数和精度),或者应该使用字符串。我的建议是使用任何十进制库(例如:十进制.js)。

最新更新