fastjson 输出double类型强制转为科学计数法问题

Fawn ·
更新时间:2024-09-20
· 574 次阅读

在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}
作者:AISeekOnline



DOUBLE 科学计数法 fastjson 科学

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章