zoukankan      html  css  js  c++  java
  • BigDecimal类的简单使用方法

    一提到Java里面的商业计算,我们都知道不能用float和double,由于他们无法进行精确计算。可是Java的设计者给编程人员提供了一个非常实用的类BigDecimal,他能够完好float和double类无法进行精确计算的缺憾。BigDecimal类位于java.maths类包下。首先我们来看下怎样构造一个BigDecimal对象。它的构造函数非常多,我挑最经常使用的两个来演示一下:一个就是BigDecimal(double val),还有一个就是BigDecimal(String str)。这两个看上去没什么太大差别,可是正像API描写叙述中说的那样:

    也就是说利用double作为參数的构造函数,无法精确构造一个BigDecimal对象,须要自己指定一个上下文的环境,也就是指定精确位。而利用String对象作为參数传入的构造函数能精确的构造出一个BigDecimal对象。请看以下的代码:

    输出:

    所以我们在选择构造函数时,要看详细需求而定。

    另外,非常多人会问到怎么将基本类型,如int,float,double,long,和BigDecimal对象相互转换。非常easy:

    基本类型通过构造函数转换成相应的BigDecimal对象,而BigDecimal类提供了诸如intValue(), floatValue(), doubleValue(), longValue()方法来将BigDecimal对象转换成相应的值。

    关于BigDecimal是怎样计算的,我以论坛中一个人的提问帖子为例,来简单的写出BigDecimal的运算方法。题目是:李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?

    这道题应该是从后往前推,而且要逆运算,最后得出原有酒的体积。

    结果:

  • 相关阅读:
    必知必会 | Android 性能优化的方面方面都在这儿
    上周热点回顾(1.19-1.25)团队
    上周热点回顾(1.12-1.18)团队
    如何在博客园的markdown编辑器中输入数学公式团队
    上周热点回顾(1.5-1.11)团队
    上周热点回顾(12.29-1.4)团队
    上周热点回顾(12.22-12.28)团队
    云计算之路-阿里云上-寒流来袭:2014年12月23日21:45-23:15网站故障团队
    上周热点回顾(12.15-12.21)团队
    【活动】加班一整年了,程序员们,你们还好吗?团队
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4091169.html
Copyright © 2011-2022 走看看