关于JSP中金额显示问题的深入探讨

junyi2003 2003-09-18 04:26:56
JSP做网页中经常会遇到金额方面的计算。
以网上商店为例:
总要计算金额=商品单价*件数
然后计算总金额=金额累加+运费

用float,double肯定不行。浮点数运算会有误差的。

现在有2种解决办法:
1、 利用java.math.BigDecimal处理。
详细见http://expert.csdn.net/Expert/topic/2273/2273496.xml?temp=2.262515E-02

2、在数据库中凡是金额即以最小单位(分)存储为long形
Jsp中也以长整形计算,最后显示结果时化为需要的结果。(一般为n.2m格式)

现在讨论:哪种方法比好准确,效率比较高。

请各位有经验的达人,多多发言。小弟不胜感激^_^
...全文
343 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
junyi2003 2003-10-24
  • 打赏
  • 举报
回复
再UP一次,今天肯定结贴。
junyi2003 2003-10-10
  • 打赏
  • 举报
回复
up
junyi2003 2003-10-10
  • 打赏
  • 举报
回复
up
icecloud 2003-09-19
  • 打赏
  • 举报
回复
建议用BigDecimal, 参见Effective Java中的探讨。

用BigDecimal速度慢但是方便。如果不是超大数字计算效率不会比int,long低多少
用int一般是9位数字以内的计算,18位以内的可以用long。自己控制小数点。
junyi2003 2003-09-18
  • 打赏
  • 举报
回复
UP....
gaven_yeung 2003-09-18
  • 打赏
  • 举报
回复
以我的经验是用BigDecimal好,其实这类金额计算应不会太大量,不至于会影响系统的性能,BigDecimal的各种运算都也有现成的,会比自己去实现好。
007james 2003-09-18
  • 打赏
  • 举报
回复
方法1,好准确
junyi2003 2003-09-18
  • 打赏
  • 举报
回复
请教了,高手都在睡觉吗?

junyi2003 2003-09-18
  • 打赏
  • 举报
回复
UP

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧