java开发中,涉及到金钱计算的时候用什么数据类型,存储贷款金额用什么数据类型【杭州多测师】【杭州多测师_王sir】

  • 回答: 一般使用 java.math.BigDecimal  类来处理需要高精度的计算

  • 原因: 1.浮点数(double,flot)因为精度问题, 容易出现不精确的计算结果

    2.浮点数范围比较小

    BigDecimal  范围大, 并且比他们精确

  • mysql数据库设计
  • BigDecimal在进行入库时, 数据库选择decimal类型, 长度能够自定义, 如18; 小数点咱们项目中用的是2, 保留2位小数. 此外还要注意的就是默认值
  • 必定写成0.00, 不要用默认的NULL, 不然在进行加减排序等操做时, 会带来转换的麻烦。
  • package com.java10.day04.section01;
    import java.math.BigDecimal;
    
    public class BigdecimalTest {
    
        /**
         * 金融项目中金额应该用什么数据类型?  ==》用BigDecimal引用数据类型
         * @param args
         */
        public static void main(String[] args) {
            // 浮点数,存在精度问题
            double d1 = 0.19 * 6;
            System.out.println(d1);// 1.1400000000000001
            // 采用BigDecimal 来解决精度问题
            BigDecimal bd1 = new BigDecimal("0.19");
            BigDecimal bd2 = new BigDecimal("6");
            BigDecimal bd3 = bd1.multiply(bd2);
            System.out.println(bd3);// 1.14
        }
    }

     

转发来自:https://www.shangmayuan.com/a/9f39a3fb47594f9cb8582f9a.html

java 中 BigDecimal 详解:https://blog.csdn.net/qq_35868412/article/details/89029288

 

posted @ 2022-01-20 17:09  多测师_树哥  阅读(378)  评论(0编辑  收藏  举报