最新文章列表

关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN

ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1BigDecimal a = new BigDecimal(1.5);                System.out.println("down="+a.setScale(0,BigDecimal.R ...
wuyanshen 评论(0) 有4247人浏览 2014-07-17 20:16

QLExpress脚本语言技术讲解(9)-------高精度计算

hujw 的来信  您好,我在使用QLExpress的时候,发现运算结果精度不符合预期结果。期盼得到您的解答。先列下具体问题:   运行表达式:a=(b-c)/(d-c)   其中:   b=new BigDecimal("0.1694915254237288"); c=new BigDecimal("0.1538461538461538 ...
express_wind 评论(0) 有2479人浏览 2014-06-06 19:09

BigDecimal属性

BigDecimal abs()           返回BigDecimal,其值为此BigDecimal的绝对值,其标度为this.scale()。 BigDecimal abs(MathContext mc)          返回其值为此BigDecimal ...
zkk515 评论(0) 有868人浏览 2014-04-23 09:56

Item 48: Avoid float and double if exact answers are required

1.  The float and double types are particularly illsuited for monetary calculations because it is impossible to represent 0.1 (or any other negative power of ten) as a float or double exactly. The rig ...
leonzhx 评论(0) 有930人浏览 2014-04-15 18:01

浮点数计算钱

一..为什么不用浮点数算钱 1. 浮点运算在计算过程中需要对阶,而在对阶过程中可能损失精度,即尾数部分被舍弃。 public class TestDouble { public static void main(String[] args) { Double a = 1.0e15; for (int i = 0; i < 1000000; i++) { a += ...
ziwuzu 评论(0) 有1682人浏览 2014-04-07 12:11

java中float和double的问题

        很多朋友都知道java中直接用float和double运算会有精度的问题,其本质的原因是计算机只认识二进制数,直接用二进制来表示带有小数的十进制,本来就是无法做到精确地,比如0.1转换成二进制位为: 0.1(十进制) = 0.0001100110011001100......(二进制)           所以在java中进行商业逻辑运算,还是要用BigDecimal,具体用 ...
daniel0202 评论(0) 有627人浏览 2014-03-17 18:49

BigDecimal构造参数Double和String的区别

  在处理长度,价格等数据时,我们总会用到BigDecimal。BigDecimal有很多的好处,但是我们在调用其构造函数的时候,也要选好参数,否则可能会得出错误的结果。   BigDecimal的构造方法常用的可以传double和String作为参数,平常如果不注意的话,会以为传个0.1d和”0.1”进去,得到的结果是一样的。但事实上,结果却出乎意料。我们可以做个简单的测试:     public ...
午刀十 评论(0) 有1491人浏览 2014-01-06 17:32

[Java]高精度计算请考虑使用BigDecimal

对于科学计算或者工程计算,我们通常会使用float或者double类型来存储浮点数。但是对于商业,货币或者税务计算,强烈推荐使用java.math包下的BigDecimal类。   使用float或者double会发生精度丢失现象,比如: double strange = 2 - 1.1; System.out.println(strange);  打印的内容是: 0.8999 ...
zjuttsw 评论(0) 有210人浏览 2013-11-02 10:32

实例24:更精准地使用浮点数

在商品金额的计算中,经常会涉及小数运算。例如,某个商品的价格是1.10元,而顾客现有金额2元整。在计算机中所有数字都是使用二进制进行存储的,而二进制无法精确地表示所有的小数,所以使用基本数据类型进行小数运算会有一些误差,本实例将通过BigDecimal类实现精确的小数运算。 BigDecimal类中常用的方法: 1、加法 该方法实现两个BigDecimal类实例对象的加法运算,并将运算结果作 ...
lusam06 评论(0) 有1145人浏览 2013-08-29 23:47

BigDecimal使用实践和注意事项

BigDecimal简介    JDK文档(中文)中的解释如下:    不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。因此,BigDecimal 表示的数值是 (unscaledValue × 10-sc ...
kingxss 评论(0) 有7192人浏览 2013-07-29 15:26

java BigDecimal的使用和四舍五入及格式规范(精准数据)

• Java中的简单浮点数类型float和double不能够进行运算。不光是Java,在其它很多编程语言中也有这样的问题。 如果我们编译运行下面这个程序会看到什么? public   class  Test  {      public   static   void  main(String args[])  {                 System.out.println(0.05 ...
king114963349 评论(0) 有21584人浏览 2013-06-17 15:37

mybaits动态SQL中的DECIMAL

数据库:mysql数据库字段类型:decimal(11,2)java程序类型:java.math.BigDecimal 使用mybatis的动态语句 <if test ="money!= null>,money</if>   问题点:如果money传入的是0,那么动态语句也直接当做null处理   解释: DECIMAL是压缩的“严格”定点数。nu ...
kabuchino 评论(0) 有13301人浏览 2013-05-22 10:36

BigDecimal.setScale 处理java小数点

BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式  setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3  setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4  setScale(1,BigDecimal.ROUND_H ...
ccgkren 评论(0) 有1279人浏览 2013-05-14 09:05

47、java.math.BigDecimal类

一、BigDecimal类   /** * BigDecimal * 不可变的、任意精度的有符号十进制数 * BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。 * 如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂 * BigDecimal 类提供以下操作:算术、标度操作、 ...
豆豆咖啡 评论(0) 有1280人浏览 2013-04-12 08:15

BigDecimal在实际项目的应用及遇到的问题

      我们都知道,java中对大小数,高精度的计算都会用到BigDecimal.但是在实际应用中,运用BigDecimal还是会遇到一些问题.下面说一下我在项目中怎么样BigDecimal和遇到的一些问题.           1. 对商品的价格进行格式化,比如所有商品的价格保留两位小数        /** * * @param bd 商品的价 ...
liudeh_009 评论(8) 有15648人浏览 2013-03-27 13:30

BigDecimal运算

import java.math.BigDecimal;  public classArith  {       private static final int DEF_DIV_SCALE = 10;       private Arith(){           }   /**    *提供精确的加法运算。    * @param v1被加数    * @param v2加数    * ...
pjzz6666 评论(0) 有1017人浏览 2013-01-14 17:39

java--大数操作

  /** * */ package edu.fjut.bignumber; import java.math.BigInteger; /** * * 大数操作指的是操作的数字非常大,大到超过其数据类型的表示范围 * 如:999999999 ...
jacobcookie 评论(1) 有1967人浏览 2012-12-16 18:18

日期操作

1、获取某月的天数: // 获取指定月的天数 public int getDayOfMonth(int year, int month) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.DATE, 1); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONT ...
yl_fighting 评论(0) 有1054人浏览 2012-12-14 17:21

javascript bigdecimal

数据格式化 及 计算精度 需求要求     精度要求         数量:15位整数,3位小数 最大值为 999,999,999,999,999.999     金额:15位整数,2位小数 最大值为 999,999,999,999,999.99     数据格式化要求         数量: 千分号,小数位数不足3位 按 2位处理     金额:         元:千分号 ...
anole1982 评论(0) 有9189人浏览 2012-11-10 17:26

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics