Schema.org的MonetaryAmount - 如何避免浮点问题?

时间:2017-02-15 17:23:56

标签: floating-point schema.org currency json-ld

使用double或float表示货币是不好的做法,因为这些不准确,并且舍入错误可能会导致问题。因此,通常的做法是使用具有较小货币单位的整数 - 例如写100c而不是1美元,或100p而不是1英镑。

然而,Schema.org中的MonetaryAmount表示一个数字,例如1.00。

如果我为$ 1.50创建一个JSON对象,例如:

{
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": 1.50    
}

并将其存储在基于JSON的对象存储中,然后将其作为浮点处理。如果我x100得到一个整数,那么我不会关注Schema.org。

这里的最佳做法是什么?有没有办法同时遵循Schema.org并避免使用浮点数?

0 个答案:

没有答案