126. BigDecimal 加法
分享给更多人
中等难度 -通过 / -执行
JavaScript并不能精确表示所有十进制的浮点数,因为采用的二进制。
在基础的运算中,可以用Number.prototype.toFixed()
来搞定,但是更复杂的情况下需要使用其他办法来保证精度。
JavaScript的Proposal of BigDecimal 还在尚早的阶段,在那之前我们可以使用一些库来解决精度问题,比如Big.js。
在该问题中,请实现任意位数的10进制浮点数的加法运算。
add('-999999999999999999', '-1')// '-1000000000000000000'add( '-999999999999999999.999999999999999999999999999999', '1.0000000000000000000000000001')// '-999999999999999998.999999999999999999999999999899'add( '999999999999999999.9999999999999999999999999999', '1.0000000000000000000000000001')// '1000000000000000001'
- 该问题同时cover了76. 实现BigInt的加法(含符号)。
- 最终结果的结尾的0需要去掉。