|
|
1
6
主要的问题是Javascript,它甚至没有真正的整数类型,更不用说(官方的)正确的十进制库(PHP BC Math ). 有一个 old third-party port of Java's BigDecimal to Javascript 你可以在客户端使用。另一种方法是,以美分为单位计算所有数据,因为IEEE双精度数可以精确地表示长度高达53位的整数,这足以使美国的主权债务至少再维持10年( 可能 ). |
|
|
2
3
我认为这取决于你如何实施它。Javascript在客户端运行,因此不安全。不能相信。另外,这意味着你的系统将不适用于那些关闭Javascript或使用旧浏览器的人。 只要你记住这一点,使用PhP来处理安全的东西,检查来自Javascript的所有东西,并愿意失去那些没有Javascript的人,那么我认为这没有问题。 但是做这些比你想象的要难,所以要小心。 |
|
|
3
1
正如其他人所指出的,真正的问题是你不能信任客户。永远。不应该在客户端进行计算,也不应该使用来自客户端的数据(如价格)。除此之外,我永远不会使用浮动来表示货币金额。货币应始终表示为整数,其中1表示基本货币单位的单个单位(例如美分)。这会使事情稍微复杂一点,但是帮你自己一个忙,创建一些简单的访问函数,你的生活会更轻松。 |