专栏首页程序员互动联盟【答疑解惑】Java中的高精度数字

【答疑解惑】Java中的高精度数字

前几天网友在群里有问BigDecimal能直接赋值吗?就像使用基本数据类型那样,答案是不能。

Java中的基本数据类型有的时候是不能满足实际编程需要的,特别是在数学、科学、工程、货币等领域,因为精度不够,所以Java提供了java.math.BinInteger类和java.math.BigDecimal类,其中BigInteger类是针对大整数的处理类,而BigDecimal类则是针对大小数的处理类,它们不属于基本数据类型,所以不能按照普通的基本数据类型那样计算,那么它们是怎样进行数据运算的呢?下面以BigDecimal为例进行说明。

首先查看API文档,API文档中有详细介绍。通过查看文档发现BigDecimal类提供了四类方法进行加、减、乘、除:

public BigDecimal add(BigDecimal augend) ;//加 public BigDecimal subtract(BigDecimal subtrahend) ;//减 public BigDecimal multiply(BigDecimal multiplicand);//乘 public BigDecimal divide(BigDecimal divisor);//除

例如:

BigDecimal money = new BigDecimal("15328.328"); //本金
BigDecimal interestRate = new BigDecimal("0.008"); //利率   
BigDecimal sum = money.multiply(interestRate); //总共金额

BigInteger类的操作与BigDecimal类似。

本文分享自微信公众号 - 程序员互动联盟(coder_online)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-07-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么部分看起来不太复杂的网站,比如Facebook需要大量顶尖高手来开发?

    网站的复杂度不是只能看表面的文章,网站背后是强大的负载能力,以及强大的数据处理能力才是网站背后的技术核心,像国内的大型互联网公司都有自己的网站的研发团队,而且网...

    程序员互动联盟
  • 为什么坏学生都当了老板?

    一次回老家。与几位小学同学相聚,“忆往昔”之后,聊起了各自现在的情况。   有几个“混”得不错的同学:谢老大自己办工厂,资产几百万;大王二当了包工头,在城里买了...

    程序员互动联盟
  • 程序员何时跳槽最好?

    常有程序员问我什么时候辞职合适,如果现在辞职是不是一个好选择。这个问题我一般都不会决定性意见,因为这有可能会对你的职业和生活造成影响。   一些程序员怕被贴上不...

    程序员互动联盟
  • Java中的BigDecimal类你了解多少?

    可以看到在Java中进行浮点数运算的时候,会出现丢失精度的问题。那么我们如果在进行商品价格计算的时候,就会出现问题。很有可能造成我们手中有0.06元,却无法购买...

    用户1516716
  • Java开发中商业计算请务必使用BigDecimal来进行计算!

    今天群里一个初级开发者问为什么测试人员测出来他写的价格计算模块有计算偏差的问题,他检查了半天也没找出问题。这里小胖哥要提醒你,商业计算请务必使用`BigDeci...

    码农小胖哥
  • BigDecimal大小判断

    equals源码: public boolean equals(Object anObject) {//name2传入equals方法,anObject指向n...

    居士
  • Java-BigDecimal数据类型

    我们知道在Java中有float和double类型,它们的主要设计目标是为了科学计算和工程计算。然而,它们没有提供完全精确的结果【因为其有限的有效位数】,所以不...

    老九学堂-小师弟
  • 【刨根问底】BigDecimal 案例和部分源码分析

    在咱们开发过程中很容易遇到计算的问题,普通计算其实也还好使用int、long、double、float基本上能应付。但是如果涉及到数据类型转后在处理等就不是很好...

    用户4143945
  • Java之BigDecimal详解

    ​ Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效...

    用户1195962
  • Java工具集-数学(一次函数)

    cwl_java

扫码关注云+社区

领取腾讯云代金券