我正在构建一个 JS Web 应用程序,它本质上消耗各种 API 的数据。其中一些 API 使用 MySQL 和 PHP,因此为了避免浮点不准确问题,它将所有货币数据转换为整数值(例如,将提供的数据乘以 100)。当我获取该数据时,我通过除以 100 将其重新转换为其本地表示形式。
简单。
我的问题更多是关于流程和最佳实践: 应用程序中应在何处/何时进行数据转换?
我提出的两种可能性如下:
- 立即在应用程序和 API 之间的门口进行转换,即在 POST 或 PUT 之前,我调整为 API 的预期格式。在 GET 之后,我立即转换为我期望的本地格式。 这个方法看起来不错,因为我有一个单点转换
- 在将数据注入(inject) VIEW(渲染)之前进行转换。这感觉更好,因为我会一直使用 API 格式(并避免浮点不准确问题),直到需要显示数据为止。
对于我所做的大多数操作,浮点不准确并不是真正的问题。但我总是被告知不要等到它来咬我的**。
无论如何,我都在寻找尝试过这两种方法的人的反馈,以及他们使用这些方法的相对优缺点。
谢谢
最佳答案
floating point inaccuracy issues
这听起来像是协议(protocol)间数据序列化问题,因此我投票支持你的#1选项。所有与协议(protocol)相关的数据转换都应尽可能接近协议(protocol)级别进行。
关于javascript - API消费者和数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34065289/