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的运算方法。题目是:李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?

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

    结果:

  • 相关阅读:
    查看端口有没有被占用
    微信公众号2()
    How to insert a segment of noise to music file
    puppet practice
    Docker Commands
    LempelZiv algorithm realization
    The algorithm of entropy realization
    Java network programmingguessing game
    Deploy Openstack with RDO and Change VNC console to Spice
    puppet overview
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4091169.html
Copyright © 2011-2022 走看看