根据三项操作,我有进步。 第一个操作需要10秒,第二个操作需要15秒,第三个操作需要15秒。 可以使用以下公式计算进度百分比:
elapsedTime/totalTime * 100%
其中totalTime是10 + 15 + 15 = 40秒。
现在假设每个操作都有一个在每个操作结束时计算的错误(例如,第一个操作需要3秒钟,因此完成它的时间是13秒)。 重新计算进度百分比的新方法是什么,以便取得进展 总是前进(它应该缓慢但不会倒退)?
我的进度最大值设为100。
答案 0 :(得分:1)
将totalTime
增加错误已添加到整体进度的金额
totalTime + error_time
要使进度始终向前,您应该将错误显示在错误发生时的值,并且只在new_calculated百分比超过记住的值时才进行更新。
您正在操作2:
的图像totalTime = 40;
elapsedTime = 25;
old_progress = 25 / 40 * 100 [62.5%]
然后发生错误:
errorTime = 3;
totalTime = 40 + errorTime ;
elapsedTime = 25;
new_progress = 25 / 43 * 100 [58.1%]
现在您等到new_progress
值超过old_progess
值,然后您可以再次更新。这样它永远不会倒退
答案 1 :(得分:1)
如果你将error_Time添加到双方怎么办?我的意思是这样的:
(op1+ error_Time_op1 + op2 +op3 )/(totalTime + error_Time_op1 ) * 100%