我必须操纵十进制计算。所有数据都已经在客户端,并且操作正在通过用户交互(选择)而改变。因此,我当然可以为每个用户选择更改访问服务器,但这是一项耗时的工作和额外的复杂性。
我开始在客户端操作十进制计算,并抛出了全球化解析问题。我也担心服务器端的十进制计算可能不等于客户端的处理结果。
因此,最好在服务器端计算十进制值,或者仅出于显示目的通过 JavaScript 计算它没有任何问题?
我必须操纵十进制计算。所有数据都已经在客户端,并且操作正在通过用户交互(选择)而改变。因此,我当然可以为每个用户选择更改访问服务器,但这是一项耗时的工作和额外的复杂性。
我开始在客户端操作十进制计算,并抛出了全球化解析问题。我也担心服务器端的十进制计算可能不等于客户端的处理结果。
因此,最好在服务器端计算十进制值,或者仅出于显示目的通过 JavaScript 计算它没有任何问题?
这就像在做加法时问科学计算器是否比普通计算器好。
是的,这很好,但要谨慎行事。JS 有一个关于不精确小数的已知问题。据我所知,人们以“美分”(整数)计算,然后除以 100 得到“美元”(浮点数/小数)。
当然,您还应该在之后进行验证。众所周知,不能轻易相信客户端的输入。
首先,在处理货币时,总是以整数工作。如果您以美元工作,则乘以 100 并以美分工作。无论您使用哪种货币,请以尽可能小的数量为单位工作。
这将消除任何舍入错误的机会。
只有在您获得以便士为单位的最终值之后,才能将其除以 100(或者更好的是使用字符串操作)以最精确地呈现它。
这将保证客户端和服务器获得相同的结果。