fastjson 출력 double 유형 강제 과학 계수 법 문제 로 전환

1343 단어 ScalaJava
json 에서 출력 할 때 double 유형의 수치 가 너무 크 거나 너무 작 을 때 내부 에서 과학 계수 법 형식 으로 강제로 출력 됩 니 다. 과학 계수 법 이 필요 하지 않 으 면 BigDecimal 류 를 사용 하여 double 유형 을 표시 할 수 있 습 니 다. 코드 는 다음 과 같 습 니 다.
Java 버 전:
import com.alibaba.fastjson.JSONObject;
import java.math.BigDecimal;

/**
 * Created by zhoujm on 2020/4/1.
 */
public class TestJson {

    public static void main(String[] args) {

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("       ", 2411188000888811111111124234.423424);

        BigDecimal bd = new BigDecimal("2411188000888811111111124234.423424");
        jsonObject.put("        ", bd);

        System.out.println(jsonObject.toJSONString());
    }
}

스칼라 버 전:
import java.math.BigDecimal

import com.alibaba.fastjson.JSONObject

/**
  * Created by zhoujm on 2020/4/1.
  */
object TestJson {

  def main(args: Array[String]): Unit = {
    val jsonObject = new JSONObject
    jsonObject.put("       ", 2411188000888811111111124234.423424)

    val bd = new BigDecimal("2411188000888811111111124234.423424")
    jsonObject.put("        ", bd)

    println(jsonObject.toJSONString)
  }

}

출력 결과:
{"        ":2411188000888811111111124234.423424,"       ":2.411188000888811E27}

좋은 웹페이지 즐겨찾기