JSON Schema을 사용하여 서버 요청의 유효성을 검사하고 몇 가지 값을 2DP로 확인합니다. 나는이 필드를 검증하기 위해 다음과 같은 스키마를 사용했다 :.49 또는 .99로 끝나는 숫자에 대해 multipleOf 0.01에 대한 유효성 검사 오류를 제공하는 스키마
'properties': {
'amount': {'type': ['number', 'null'], 'multipleOf': 0.01}
}
이 내가 오류 amount is not a multiple of (divisible by) 0.01
을받을 0.49 또는 0.99,로 끝나는 숫자 이외의 모든 경우에 작동합니다.
이것은 아마도 일종의 부동 소수점 오류 일 것입니다. 이것이 올바르지 않은 경우 숫자를 특정 정밀도로 어떻게 검증해야합니까?
내가 AJV에서 옵션 multipleOfPrecision을 정의했다 https://github.com/epoberezkin/ajv – esp