126. BigDecimal 加法

JavaScriptAlgorithm

中等难度  -通过 / -执行

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'
  1. 该问题同时cover了76. 实现BigInt的加法(含符号)
  2. 最终结果的结尾的0需要去掉。

始终思考更好的解决办法