gpt4 book ai didi

java - 有没有办法在不损失精度的情况下获得毫秒到天的转换,而不需要用 Java 编写数学公式?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:44 25 4
gpt4 key购买 nike

我使用 TimeUnit.MILLISECONDS.toDays(ms) 将毫秒时间量转换为天数,但阅读 JavaDoc 我注意到它基于 .convert() 并失去精度

Convert the given time duration in the given unit to this unit. Conversions from finer to coarser granularities truncate, so lose precision. For example converting 999 milliseconds to seconds results in 0. Conversions from coarser to finer granularities with arguments that would numerically overflow saturate to Long.MIN_VALUE if negative or Long.MAX_VALUE if positive.

真没想到,我的5分钟(300000ms)变成了0天。直接的解决方案是写这个

double days= (double)ms/1000*60*60*24;

这很糟糕,我认为没有必要,但它确实有效。有什么建议吗?我可以使用任何其他功能吗?

ps:我不是在等你告诉我应该将这些数字放入静态变量中,我是想了解什么样的解决方案才是好的解决方案。提前致谢

最佳答案

只需反过来使用 TimeUnit:

double days = ms / (double) TimeUnit.DAYS.toMillis(1);

关于java - 有没有办法在不损失精度的情况下获得毫秒到天的转换,而不需要用 Java 编写数学公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42973995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com