BigDecimal的用法

问题描述

BigDecimal里的方法(而不是运算符号)实现(59*59+69-75)的2次幂,除与1000以上的结果四色五入保留2位小数位后转成string型放入变量resultNum里如果resultNum的长度不足16位,左边用0补足后打印结果

解决方案

解决方案二:
publicstaticvoidmain(Stringargs[])throwsParseException{BigDecimalb1=newBigDecimal(59);BigDecimalb2=newBigDecimal(59);BigDecimalb3=newBigDecimal(69);BigDecimalb4=newBigDecimal(75);BigDecimalb5=newBigDecimal(1000);BigDecimalb=b1.multiply(b2).add(b3).subtract(b4).pow(2).divide(b5).setScale(2,BigDecimal.ROUND_HALF_UP);StringresultNum=String.format("%016.2f",b);System.out.println("b==================="+b);System.out.println("resultNum==========="+resultNum);}

时间: 2024-09-04 08:28:36

BigDecimal的用法的相关文章

Java BigDecimal类用法详解_java

1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦. 2.BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成.如果为零或正数

Java中BigDecimal类的简单用法_java

本文实例讲述了Java中BigDecimal类的简单用法,是Java程序设计中非常实用的技巧,分享给大家供大家参考.具体用法分析如下: 一般来说,一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法进行精确计算.但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺憾.BigDecimal类位于java.maths类包下.首先我们来看下如何构造一个BigDecimal对象.它的构造函数很多,

java中BigDecimal的应用

  我们来看一看java中BigDecimal的用法   public class MathUtil { // 加法 public static Double add(double a,double b,int scal) throws Exception{     BigDecimal add1 = conversionToBigDecimal(a);     BigDecimal add2 = conversionToBigDecimal(b);     Double result = ad

BigDecimal代替浮点数精确计算用法简介

浮点数 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法. 浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入.一个浮点数a由两个数m和e来表示:a = m × b^e.在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储).m(即尾数)是形如±d.ddd...dd

java中BigDecimal进行加减乘除的基本用法_java

前言 众所周知Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal. BigDecimal所创建的是对象,我们不能使用传统的+.-.*./等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法. 方法中的参数也必须是B

BigDecimal 专题

import java.math.BigDecimal; import java.math.RoundingMode; import java.text.NumberFormat; public class AddSubtractMultiplyDivide { public static void main(String[] args) { String q1 = "0.06 + 0.01 ="; String q2 = "1.0 - 0.42="; String

MyBatis持久层框架的用法知识小结_java

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c

Java BigDecimal类的使用和注意事项_java

BigDecimal简介 JDK文档(中文)中的解释如下: 不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成.如果为零或正数,则标度是小数点后的位数.如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂.因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale). 具体解释 1."BigDecimal 对象的值是不可变的".这点在BigDecimal 对象的运

Java中使用BigDecimal进行浮点数运算_java

最近研究了一下Java的浮点数计算问题,从网上查询了相关的资料,汇总并经过了一些整理和调试,最后完成此文,欢迎大家指出其中的错误和问题. 在Java中,float声明的变量是单精度浮点数,double声明的变量是双精度浮点数,顾名思义就是double型的实体占用内存空间是float的两倍.float是4个字节而double是8个字节.float和double类型的数据,无法精确表示计算结果,这是由于float和double是不精确的计算.大家可以通过下面代码可以看出来: 复制代码 代码如下: p