我已经尝试了多个解决这个问题的解决方案,但我似乎无法得到它.
我有十进制格式的时间,这是几个小时.我希望通过将其更改为DD:HH:MM:SS格式来使其更清晰.
10.89小时== 10小时53分40秒
编辑:10.894945454545455 == 10小时53分40秒
int hours = (int) ((finalBuildTime) % 1);
int minutes = (int) ((finalBuildTime * (60*60)) % 60);
int seconds = (int) ((finalBuildTime * 3600) % 60);
return String.format("%s(h) %s(m) %s(s)", hours, minutes, seconds);
Run Code Online (Sandbox Code Playgroud)
返回的是: 0(h) 41(m) 41(s)
有什么建议?
你的分钟计算应该乘以60,而不是(60*60)
double finalBuildTime = 10.89;
int hours = (int) finalBuildTime;
int minutes = (int) (finalBuildTime * 60) % 60;
int seconds = (int) (finalBuildTime * (60*60)) % 60;
System.out.println(String.format("%s(h) %s(m) %s(s)", hours, minutes, seconds));
Run Code Online (Sandbox Code Playgroud)此代码为您提供正确的输出
10(h) 53(m) 24(s)
Run Code Online (Sandbox Code Playgroud)
我相信你预期的40秒输出是不正确的.它应该是24秒.
(53*60 + 24)/(60*60) = 0.89
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9572 次 |
| 最近记录: |