有没有关于发送剩余金额的标准?
发送带有金额字段正文的POST请求的正确方法是什么?在哪里可以找到说明?
"amount": "2.222222222"
或
"amount": 2.222222222
答案 0 :(得分:0)
请注意,REST并不总是JSON。您似乎实际上是在询问有关用JSON编码的货币值。
如果要使用现有的JSON API,则别无选择:API规范将告诉您该字段是字符串还是数字。
如果您正在设计新的API,则需要做出选择。
JSON standard指定如何对包含小数点的数字进行编码,但未指定解码数字应如何表示。解码库很有可能会将其解码为浮点数。
除了极少数例外,使用浮点数赚钱不是一个好主意:Why not use Double or Float to represent currency?。因此,我的建议是使用字符串来传输货币值,并在客户端和服务器中进行显式转换。这意味着为中间的JSON处理代码留出了更改值的范围。
还要注意,JSON编号没有单位。如果您将货币值编码为字符串,则可以选择以以下格式包含货币:“£123.45”。当然,编码器和解码器都需要知道这种格式。