在JSONArray中加入长值

时间:2013-02-03 09:23:51

标签: java numbers arrays

我试图在JSONArray中添加一个长值(毫秒),如下所示:

         long epoc = 1359231233L;
         long milli = epoc*1000;
         System.out.println(milli);
         JSONArray arr = new JSONArray();
         arr.put((Long)epoc*1000);
         System.out.println(arr.toString());

输出结果为:

1359231233000
[1.359231233e12]

我不希望数组中的指数值,如何才能显示实际的长值?

2 个答案:

答案 0 :(得分:3)

  

我不希望数组中的指数值,如何才能显示实际的长值?

您看到的表单在数组中不是。它由toString创建。数组中的实际值是Long,而不是字符串。

如果你想在不使用指数表示法的情况下获得该数字的字符串形式,我希望你必须编写自己的长字符串例程(或者找一个,也许在Apache公共或类似的例程中)。

请注意,指数形式完全可以接受JSON

答案 1 :(得分:0)

Long.toString()应该以您想要的格式提供数字。

 long epoc = 1359231233L;
 long milli = epoc*1000;
 System.out.println(milli);
 JSONArray arr = new JSONArray();
 arr.put(Long.toString((Long)epoc*1000));
 System.out.println(arr.toString());