Java关于金额计算的选择方案

原创 2016年05月31日 18:18:57

  这次项目中有支付的模块,所以就会涉及到钱的计算,从网上查了写资料,发现大家都用BigDecimal,与此同时都说不用double,为什么就不用double呢?


  其实大家用BigDecimal的原因是因为它具有更高的精度和更小的范围。那double和BigDecimal相比,精度差多少呢,看下图:


  其实在实际的使用中,我根本不需要这么高的精度,感觉使用double也没什么问题,不过double在设置精度的时候没有BigDecimal方便,所以更倾向使用BigDecimal。


  其实遇到这个问题的时候,我也请教了一些人,我姐夫兼某架构师给出一个很巧妙的方案,


  因为我们涉及的金额不会很大,而且精度只要求到两位,所以他给出的方案用int处理,所有的运算都乘以100,数据库也可以用int,只有在需要显示的时候处理下就行,这样既没有精度问题,运算起来的效率也要比double或者BigDecimal都要高很多。


  如果大家还有什么更好的方案,可以提出来哈,共享下,集体的智慧是无穷的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java金额类计算封装

import java.math.BigDecimal; import java.math.BigInteger; /**  *   * @Description:TODO  * @...
  • tracy38
  • tracy38
  • 2016年04月25日 14:01
  • 198

JAVA更改Jtable的数量列值,自动计算金额小计列值的源代码

// 创建表格           MTable table = new MTable(tableModel);        // 为表格模型添加事件监听器 tableModel.add...
  • ycjnx
  • ycjnx
  • 2014年09月28日 10:02
  • 1457

Java基础应用之条件语句(用Switch语句根据消费金额计算折扣)

Java基础应用之运算符(实现两个变量的互换(用Switch语句根据消费金额计算折扣)) 实例运行结果: ---------------------------------------------...

BIEE 11g 关于动态切换金额显示单位 方案二(变量提示器+表示变量)

方案二: 不需要在查看新建一张baob

金额转大小写的一个java实现

  • 2013年05月03日 08:51
  • 4KB
  • 下载

java---金额中文大小写实时转换小程序

本例演示一个String图形用户界面的完整应用程序,包括输入数据, 显示结果,响应事件以及异常处理。 输入一个实数表示金额,每次输入时显示该金额的中文大小写形式,运行窗口见最后。 在窗口中,“金...

java数字转换位金额大写输出

  • 2017年03月05日 14:47
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java关于金额计算的选择方案
举报原因:
原因补充:

(最多只允许输入30个字)