title: How to avoid scientific notation in circe JSON serialization
body: <p>Let's say I have the next case class:</p>
  
  <pre><code>case class Person(id: String, money: BigDecimal)
  
  object Person {
    implicit val encoder: Encoder[Person] = Encoder.forProduct2("ID", "Money")(u =&gt;
      (u.id, u.money))
  </code></pre>
  
  <p>I want to serialize instances of the Person class to JSON, so when I evaluate the <code>asJson</code> from circe, I get the result in scientific notation:</p>
  
  <pre><code>{
      "ID" : "123",
      "VALOR_SAP" : 2.7E+7
  }
  </code></pre>
  
  <p>Why do this happens? I think the reason is because the default to string of <code>BigDecimal</code> automatically format to scientific notation.</p>
  
  <p>What could I do to avoid this? May be creating another type which extends from <code>BigDecimal</code> and overriding the <code>toString</code>?</p>