其实这是一个正常的结果,其产生的原因就是:
计算机计算时使用的是2进制,而我们输入的是10进制。10进制的小数转2进制就有可能产生精度丢失的问题.
Android这个calculator采用的是arity框架封装的,而arity并没有正确处理这些精度问题。
下面算是个workaround,代码不好请多见谅。
其实这是一个正常的结果,其产生的原因就是:
计算机计算时使用的是2进制,而我们输入的是10进制。10进制的小数转2进制就有可能产生精度丢失的问题.
Android这个calculator采用的是arity框架封装的,而arity并没有正确处理这些精度问题。
下面算是个workaround,代码不好请多见谅。