0
내가 사용하는 데이터에는 고정 된 5 자리의 정밀도가 있습니다. JsNumber를 생성 할 때 이것을 적용하여 부동 소수점 부정확성이 .123450000000000001 출력을 생성하지 않도록하고 싶습니다.spray.json에서 JsNumber 출력의 정밀도를 설정하는 방법은 무엇입니까?
이것이 가능합니까? 나는 그것을 할 길을 찾지 못했습니다.
내가 사용하는 데이터에는 고정 된 5 자리의 정밀도가 있습니다. JsNumber를 생성 할 때 이것을 적용하여 부동 소수점 부정확성이 .123450000000000001 출력을 생성하지 않도록하고 싶습니다.spray.json에서 JsNumber 출력의 정밀도를 설정하는 방법은 무엇입니까?
이것이 가능합니까? 나는 그것을 할 길을 찾지 못했습니다.
당신은 (우선 순위가 더 높은 암시 적 범위와 프로토콜 내에서 또는 어디든지 다른 사람)이 작업을 수행하는 사용자 정의 JsonWriter
를 정의 할 수 있습니다 :
implicit object RoundedDoubleJsonWriter extends JsonWriter[Double] {
def write(d: Double) =
JsNumber(BigDecimal(d).setScale(4, BigDecimal.RoundingMode.HALF_UP)
}
변경 맛 반올림 모드/방법.