public static void main(String[] args) {
String jsonArrStr = "{ \"Events\": [ { \"UTC\": 1587451120, \"UTCMS\": 0 } ] }";
//json
Map paramsMap = new Gson().fromJson(jsonArrStr,Map.class);
JsonArray eventsArray = new Gson().fromJson(new Gson().toJson(paramsMap.get("Events")), JsonArray.class);
Map eventsMap = new Gson().fromJson(new Gson().toJson(eventsArray.get(0)),Map.class);
try{
String UTC = String.valueOf(eventsMap.get("UTC"));
System.out.println("UTC="+UTC);//UTC=1.58745112E9
BigDecimal bigDecimal = new BigDecimal(UTC);
String utcPStr =bigDecimal.toPlainString();
System.out.println("utcPStr="+utcPStr);//utcPStr=1587451120
String utcStr =bigDecimal.toString();
System.out.println("utcStr="+utcStr);//utcStr=1.58745112E+9
}catch (Exception e){
e.printStackTrace();
}
}
bigDecimal.toString()与bigDecimal.toPlainString()之间区别
1、测试数据:
(1)结果有差别
测试数据:
String jsonArrStr = “{ “Events”: [ { “UTC”: 1587451120, “UTCMS”: 0 } ] }”;
结果:
UTC=1.58745112E9
rst=1.58745112E+9 (.toString())
rst=1587451120 (.toPlainString())
(2)结果无差别
测试数据:
String jsonArrStr = “{ “Events”: [ { “UTC”: 1587454579, “UTCMS”: 0 } ] }”;
结果:
UTC=1.587454579E9
utcPStr=1587454579 (.toString())
utcStr=1587454579 (.toPlainString())