Time 如何将分钟转换为百分比?

Time 如何将分钟转换为百分比?,time,Time,我试图根据给定的最大分钟数和他们等待的分钟数找出进度条的百分比。例如,用户说他们将等待45分钟,但结果是2小时。我如何将其转换为百分比 在这种情况下,我认为这会起作用: minutes waited / max minutes * 100 但在这种情况下,等待的分钟数是120除以45,然后乘以100得到267,四舍五入。我是否需要进行额外检查以查看是否超过100%,然后仅使用100%作为进度条编号?从技术上讲,它超过100%的时间,因此您需要执行最终检查以查看它是否大于100%,如果是,则将其

我试图根据给定的最大分钟数和他们等待的分钟数找出进度条的百分比。例如,用户说他们将等待45分钟,但结果是2小时。我如何将其转换为百分比

在这种情况下,我认为这会起作用:

minutes waited / max minutes * 100

但在这种情况下,等待的分钟数是120除以45,然后乘以100得到267,四舍五入。我是否需要进行额外检查以查看是否超过100%,然后仅使用100%作为进度条编号?

从技术上讲,它超过100%的时间,因此您需要执行最终检查以查看它是否大于100%,如果是,则将其改回100%


我还建议(如果适用的话)重新计算飞行中剩余的时间,这样他们就永远看不到100%,而实际上他们还有45分钟的时间。

这将为您提供100%的上限,无需额外检查。
最小值(等待100分钟/max minutes*100)

120是45的267%。根据语言的不同,可以使用三元运算符:

double ratio = (waited / max) * 100.0;
double percent = ratio > 100.0 ? 100.0 : ratio;
不过,我同意格雷厄姆的观点,应该马上重新计算

newMaxMinutes = timeSoFar / percentageOfWorkSoFar
progress = percentageOfWorkDoneSoFar