使用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并避免使用浮点数?