在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());
}
}
Scala版本:
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}