首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在将纳秒转换为毫秒时得到十进制结果?

问如何在将纳秒转换为毫秒时得到十进制结果?
EN

Stack Overflow用户
提问于 2014-07-07 12:18:55
回答 5查看 10.7K关注 0票数 6

使用TimeUnit,如何将665477毫秒转换为0.665477毫秒?

代码语言:javascript
复制
long t = TimeUnit.MILLISECONDS.convert(665477L, TimeUnit.NANOSECONDS);

这总是给0,但我需要小数点的精度。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-07-07 12:20:37

来自Java文档- TimeUnit#convert

代码语言:javascript
复制
public long convert(long sourceDuration,TimeUnit sourceUnit)

将给定单元中给定的时间持续时间转换为此单位。从更细到更粗粒度的转换会截断,因此就失去了精度。例如,将999毫秒转换为秒,结果为0。通过参数从粗到细的转换,如果是负值,则会数字溢出到Long.MIN_VALUE,如果是正,则会溢出到Long.MAX_VALUE。

所以要得到你的答案

代码语言:javascript
复制
double milliseconds = 665477 / 1000000.0;
票数 7
EN

Stack Overflow用户

发布于 2014-07-07 13:16:20

较短且较少出错的:

代码语言:javascript
复制
double millis = 665477 / 1E6;

milli -> mikro ->纳米

这是两个步骤,每个步骤的转换faktor为1000 = 1E3;因此,比计算零更容易理解为1E6的一百万。

票数 6
EN

Stack Overflow用户

发布于 2014-07-07 12:22:25

除以1,000,000:

代码语言:javascript
复制
double millis = 665477 / 1000000.0;

使用TimeUnit,您将只得到一个整数结果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24610473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档