0

我正在尝试在 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]

我不想要数组中的指数值,我怎样才能让它显示实际的长值?

4

2 回答 2

3

我不想要数组中的指数值,我怎样才能让它显示实际的长值?

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

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

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

于 2013-02-03T09:26:43.620 回答
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());
于 2013-02-03T09:31:33.560 回答