我有java程序,它在Epoch中以微秒为单位接收时间,如下所示
String time = "1487809901812";
我需要将此时间从微秒转换为毫秒,然后再发送到其他系统。
我希望最终值与
相似String final = "1487809901.812"; //Note DOT here
我可以通过在最后三位之前放置点来进行一些字符串操作来轻松完成。但是想知道还有其他办法吗?
答案 0 :(得分:4)
您可以将其转换为double
,将其除以1000并使用String.format
对其进行格式化,例如:
String time = "1487809901812";
String milli = String.format("%.3f", Double.parseDouble(time)/1000.0);
System.out.println(milli);
答案 1 :(得分:1)
String time = "1487809901812";
time = new BigDecimal(Double.parseDouble(time)/1000).setScale(3, 4).toString();
System.out.println(time);
//must be "1487809901.812";