我应该在Javascript中进行货币计算还是作为AJAX调用?

JMM*_*JMM 10 javascript ajax jquery currency

我正在使用JQuery,Stripes,Spring和JPA(Hibernate)构建一个webapp.

我有一个页面,允许用户输入多个订单行项目,每次onblur出现在价格字段中,我有一个JQuery事件绑定到该字段,它汇总了所有的价格字段(这是一个小计),计算10%税,并将税收添加到小计.我更新页面以显示小计,税金和总计.

我的问题是,我应该在Javascript中进行此计算吗?如果是这样,我怎样才能确保舍入等正常工作?我有点担心精确度问题.

在Java中进行Ajax调用是否会更好?

任何建议都会很棒!

Pau*_*tos 15

根据经验,您需要衡量对您的应用程序重要的内容.如果它是绝对精度,则将其作为AJAX调用,因为浏览器,计算机和操作系统之间可能存在舍入差异.

当我为一家公司开发网站时,我正在为我工​​作时遇到同样的问题,但是我们设法通过使用仅使用整数算术的巧妙扭曲来使用javascript部分.

因为我们处理两位数的货币,我们将所有数字乘以10,000并进行计算.舍入为整数并除以10,000,将结果截断为两位小数.

这使得浏览器和服务器端之间的往返非常一致.


Kal*_*see 6

根据comp.lang.javascript常见问题解答,Javascript使用IEEE-754,因此在进行浮点数学运算时它的精度为15-16位.这对于货币操作应该足够了,前提是您在服务器端使用Javascript中的相同舍入.

但是如果您需要绝对确定它在任何和所有浏览器上都是正确的,那么Ajax调用将是最安全的操作.