我想计算java中的分钟百分比。例如:30秒内3分钟的10%。
以下是我的代码。我有一个变量t
,它有几分钟的时间。我想计算10%的时间t
并将其转换为毫秒。我怎样才能做到这一点? assmt_time10per
被错误地设置为0
int t = 3; // TIME IN MINUTES
long assmt_time = TimeUnit.MINUTES.toMillis(t);
long assmt_time10per = (t * 10) / 100;
答案 0 :(得分:4)
对于10%
,将您的时间换算为毫秒,然后除以10.
您的错误在这里(您以分钟为单位划分时间)
assmt_time10per = (t * 10) / 100;
它应该是(你将你刚刚计算的时间除以毫秒)
assmt_time10per = (assmt_time * 10) / 100;
此外,当你划分2个整数时,你得到一个int作为结果,这里3乘10是0.3,它返回0.如果你想要0.3,你需要使用双精度并设置为双精度,即{{1 }},这会将double d = (double)t / 10d;
设置为d
以下是x百分比的工作代码
0.3
输出int x = 10; // desired percentage
int t = 3; // time in minutes
long assmt_time = TimeUnit.MINUTES.toMillis(t);
long assmt_time10per = (assmt_time * x) / 100;
System.out.println(assmt_time10per);
答案 1 :(得分:0)
我想也许你在必要时让它变得更加复杂。
double percent=10;
int tm = 3;
double seconds = (tm * 60) / percent;
这将为您提供以秒为单位的百分比。