假设我有下一个案例类:
case class Person(id: String, money: BigDecimal)
object Person {
implicit val encoder: Encoder[Person] = Encoder.forProduct2("ID", "Money")(u =>
(u.id, u.money))
Run Code Online (Sandbox Code Playgroud)
我想将 Person 类的实例序列化为 JSON,所以当我评估asJsonfrom circe 时,我得到科学记数法的结果:
{
"ID" : "123",
"VALOR_SAP" : 2.7E+7
}
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我想原因是因为默认为字符串的BigDecimal自动格式化为科学记数法。
我能做些什么来避免这种情况?可创建从扩展另一个类型BigDecimal和重写toString?