BigDecimal 基本使用和常用方法

这篇具有很好参考价值的文章主要介绍了BigDecimal 基本使用和常用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景  

   涉及到比较大的数字之间的计算,使用float、double这样的浮点数就不那么准确了。因为不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。所以在商业计算中基本要用java.math.BigDecimal

一、初始化使用

    public static void main(String[] args) {
        // 可以使用
        BigDecimal bigDecimal1 = new BigDecimal(10);
        // 推荐使用
        BigDecimal bigDecimal2 = new BigDecimal("10.123");
        // 不推荐 会丢失精确度
        BigDecimal bigDecimal3 = new BigDecimal(10.123);
        System.out.println("输出bigDecimal1:"+bigDecimal1);
        System.out.println("输出bigDecimal2:"+bigDecimal2);
        System.out.println("输出bigDecimal3:"+bigDecimal3);
    }

结果输出:  

bigdecimal设置默认值0,Java基础,java

 1.2、BigDecimal还提供默认值创建(0、1、10)

  public static void main(String[] args) {
        // 创建默认为0
        BigDecimal bigDecimal1 =  BigDecimal.ZERO;
        // 创建默认为1
        BigDecimal bigDecimal2 = BigDecimal.ONE;
        // 创建默认为10
        BigDecimal bigDecimal3 = BigDecimal.TEN;
        System.out.println("输出bigDecimal1: "+bigDecimal1);
        System.out.println("输出bigDecimal2: "+bigDecimal2);
        System.out.println("输出bigDecimal3: "+bigDecimal3);
    }

结果输出: 

bigdecimal设置默认值0,Java基础,java文章来源地址https://www.toymoban.com/news/detail-595600.html

 1.3、int、long、double等,也可以这么创建实例(不推荐)

   public static void main(String[] args) {
        // 创建默认为0
        BigDecimal bigDecimal1 =  BigDecimal.valueOf(10);
        // 创建默认为1
        BigDecimal bigDecimal2 = BigDecimal.valueOf(10L);
        // 创建默认为10
        BigDecimal bigDecimal3 = BigDecimal.valueOf(10.1);
        System.out.println("输出bigDecimal1: "+bigDecimal1);
        System.out.pri

到了这里,关于BigDecimal 基本使用和常用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • BigDecimal中divide方法详解

    大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们一起深入探讨Java中 BigDecimal 的 divide 方法,揭开这个方法的详细用法和注意事项。 在Java中, BigDecimal 类提供了精确的十进制浮点运算,而其

    2024年03月21日
    浏览(33)
  • BigDecimal的equals方法和compareTo方法的区别

    面试经常会问道为什么不能用BigDecimal的equals方法做等值比较? 其实BigDecimal的equals方法和compareTo并不一样,equals方法会比较两部分内容,分别是值(value)和标度(scale),而对于1.0和1这两个数字,他们的值虽然一样,但是精度是不一样的,在使用equals比较的时候会返回fals

    2024年02月04日
    浏览(26)
  • 深入了解:Java中BigDecimal比较大小的方法

    目录 Java中BigDecimal比较大小的方法 1. ​​compareTo()​​ 2. ​​equals()​​ 3. ​​compareTo()​​ 大家好,今天我想和大家讨论一下Java中BigDecimal类的比较大小的方法。在实际开发中,我们经常会遇到需要比较两个BigDecimal对象的大小的情况,比如排序、判断大小等。但是由于Bi

    2024年02月04日
    浏览(26)
  • Bigdecimal使用

    1.Bigdecimal返回数据小数后0自动被删除的问题 在需要处理的字段上使用 2.BigDecimal格式化保留2为小数,不足则补0 3.Bigdecimal通用工具类

    2024年02月04日
    浏览(23)
  • BigDecimal的使用

    1.为啥要使用 BigDecimal   就是因为数据太大涉及精度问题比如 3000000000 ,有一点吐槽的就是你设置为 BigDecimal 接收的数据不能是 null   不然会报错。 2.BigDecimal基本了解 3.方法描述 4.截断和四舍五入可用setScale方法 第一个参数保留几位小数  第二个参数取值模式 5.取值模式 6、

    2024年02月15日
    浏览(20)
  • 第十三章 常用类(Math 类、Arrays 类、System类、Biglnteger 和BigDecimal 类、日期类)

    Math 类包含,用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。 (1)abs:绝对值 (2)pow:求幂 (3)ceil:向上取整【返回 = 该参数的最小整数】 (4)floor:向下取整【返回 = 该参数的最大整数】 (5)round:四舍五入 (6)sqrt:求开方 (7)random:求随

    2024年02月06日
    浏览(23)
  • 项目|金额场景计算&BigDecimal使用简记

    前言         在实际项目开发中,我们经常会遇到一些金额计算,分摊等问题,通常我们都使用java.math.BigDecimal 来完成各种计算,避免使用浮点数float,double来计算金额,以免丢失精度,以下是博主部分使用场景和使用BigDecimal简记分享。。 案例1:统计各年龄段,用户存款

    2024年02月08日
    浏览(23)
  • 日常BUG——Java使用Bigdecimal类型报错

    😜 作           者 :是江迪呀 ✒️ 本文 : 日常BUG 、 BUG 、 问题分析 ☀️ 每日   一言 : 存在错误说明你在进步! 直接上代码: 报错内容: 原来JAVA中如果用 BigDecimal 做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除

    2024年02月13日
    浏览(34)
  • GMP库使用以及java中的BigInteger和BigDecimal

    一、GMP介绍和安装 GMP library全称是GNU Multiple Precision Arithmetic Library,即GNU高精度算术运算库。在网络安全技术领域中各种加密算法的软件实现始终有一个共同话题是如何在普通的PC机上实现大数运算。普通的PC机内部字长最多时32位或64位,但各种加密算法中为了达到一定安全强

    2024年02月08日
    浏览(33)
  • java BigDecimal使用(小数点,字符串等转换)

    Java中提供了操作大数字(超过 16位 有效位)的类, 即 java.math.BigInteger 类和 java.math.BigDecimal 类,用于高精度计算。 float和Double只能用来做科学计算、工程计算等;在商业计算中,对数字精度要求较高(例如货币值),必须使用 BigInteger 类和 BigDecimal 类,它支持任何精度的定点数,

    2024年02月14日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包