English 中文(简体)
使用javascamps在客户端做价格(十进制)计算是否安全?
原标题:Doing price(decimal) calculations on client side via javascript is safe?

我必须操控小数计算。 所有的数据都已经在客户端, 操作正在因用户互动( 选择) 而改变。 因此我当然可以访问服务器, 以适应每个用户选择的变化, 但这需要花费时间和额外的复杂性 。

我开始在客户端操作小数计算,并抛出全球化分析问题。 我还担心服务器端的小数计算可能与客户端处理结果不相等。

所以简单的计算服务器侧的十进制值更好, 还是仅仅为显示目的通过 JavaScript 进行计算没有问题?

问题回答

首先,在处理货币问题时,ALWAYS用整数工作。如果用美元工作,乘以100,用美分工作。不管你用什么货币,用最小值的单位工作。

这将消除任何四舍五入错误的可能性。

只有在你拥有了最后的硬币价值之后,再除以100(或最好使用字符串操纵),才能非常精确地展示。

这将保证客户和服务器获得同样的结果。

就像问科学计算器是否比正常计算器更好,

是的,它很好,但要谨慎行事。 联署材料对不精确的十进制有一个已知问题。 据我所知,人们用“分数 ” ( Integers)计算,然后用“美元”(浮点/十进制)除以100。

当然,你也应该在事后进行验证,因为人们普遍知道,人们决不能轻易相信客户方的投入。





相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签