【发布时间】:2017-04-14 15:38:13
【问题描述】:
我正在尝试为属性定义 JSON 架构
money: 12.12
我主要关心的是最多应允许 2 位小数。我最初尝试定义这个字段是
money: {
type: 'number',
minimum: 0,
multipleOf: 0.01
}
但是,由于floating point imprecision,这失败了。例如,使用 tv4 验证器,数字 147.41 通过验证,但 147.42 失败。是否有另一种方法来定义最多只允许 2 位小数的数字类型?
似乎“格式”属性的目的是实现这些类型的限制,但如果我这样定义字段:
money: {
type: 'number',
format: 'currency',
minimum: 0
}
那么我该如何指定具有“货币”格式的字段最多只能允许 2 个小数位?
【问题讨论】:
-
这里提出的问题更像是“如何为货币数字强制保留两位小数?”。这个问题的标题“Defining a JSON schema currency type”在这里有更好的答案:stackoverflow.com/q/30249406/27581
标签: json validation jsonschema