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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值