如何将测试用例中的输入(整数或浮点数)转换为始终为8位小数的浮点数/字符串数?例如,如果我的输入为3,则我应将其转换为“ 3.00000000”,如果我的输入为53.678,则应将其转换为“ 53.67800000”。我已经用Google搜索并尝试了几种转换类型,例如解析,toPrecision(),但无法转换。非常感谢您的帮助。
expect(a).to.equal(b) // a and be should be of same number with types too
expect(a).to.equal(b)
答案 0 :(得分:0)
在JavaScript中,Number
是 。
它的精度不能用小数位表示,它取决于数字的大小。例如,在Number.MAX_SAFE_INTEGER
以上,精度为“小于0个小数位”:
const large = 9007199254740992;
const larger = large + 1;
console.log(large === larger);
要将Number
转换为具有固定小数位数的String
,请使用.toFixed()
,如@epascarello所建议的那样:
const input = 3;
const str = input.toFixed(8);
console.log(str);
在进行财务计算时,尽管许多最大的财务公司都这样做,但有些人说您不应该使用IEEE 754浮点数(例如JavaScript的Number
)。
为了安全起见,请使用 bignum 库,例如big.js。