7

我正在使用它以秒为单位获取当前时间戳并将其添加到字符串Double.toString((System.currentTimeMillis()/1000)) 中但是我得到的不是十进制表示法,而是“1.23213E9”。如何切换到十进制表示法?

4

4 回答 4

10

试试这个:

TimeUnit.MILLISECONDS.toSeconds(((System.currentTimeMillis());
于 2012-07-18T08:47:14.843 回答
10

最短的是

String secs = "" + System.currentTimeMillis() / 1000;

如果你想保留毫秒,你可以使用

String secs = String.format("%.3f",  System.currentTimeMillis() / 1000.0);

产生一个类似的字符串

1342604140.503
于 2012-07-18T08:48:44.217 回答
7
String.valueOf(System.currentTimeMillis() / 1000)

这应该够了吧?无需将其转换为双精度

于 2012-07-18T08:46:38.043 回答
1

如果您需要处理 Double 您可以执行以下操作:

double myNum = 1.23213E9;
String myString = NumberFormat.getInstance().format(myNum);
System.out.print(myString);
于 2012-07-18T08:52:01.097 回答