美文网首页android 技术知识
Android 数据失精的解决方法

Android 数据失精的解决方法

作者: 追梦小乐 | 来源:发表于2020-09-21 19:21 被阅读0次

    需求

    • 把一个字符串小数 ,例如 “0.1335” ,乘以 100并且用 % 进行输入,即是: 13.35 %

    失败的尝试

    • float

    • double

    • 上面的两种在某种特定小数字符串下,有失去精度的可能

    解决方法

                    //高精度使用,避免失精度
                    BigDecimal mDecimal = new BigDecimal(100);
                    BigDecimal resultDecimal = null;
                    BigDecimal factorDecimal = null;
    
    
                    factorDecimal = new BigDecimal("0.1335");
                    resultDecimal = factorDecimal.multiply(mDecimal);
    
                    String result = String.valueOf(resultDecimal.doubleValue());
    

    相关文章

      网友评论

        本文标题:Android 数据失精的解决方法

        本文链接:https://www.haomeiwen.com/subject/cihbyktx.html