首页 > 解决方案 > 如何将 TimeSpan 乘以百分比

问题描述

我正在尝试将 TimeSpan 乘以系数,但我不知道该怎么做。

我试过这个:

long ErrorCoef = 25;
TimeSpan TotalTimer = new TimeSpan(10,1,2,0);
TimeSpan TotalTimer2 = TimeSpan.FromTicks(TotalTimer.Ticks + TotalTimer.Ticks * (ErrorCoef / 100));

但它(ErrorCoef/100)会自动转换为 Long,因此它返回 0。

(TimeSpan.FromTicks() 方法只接受 Long 而不是 Double)

标签: c#timespan

解决方案


Timespan 有一个 Multiply 方法,所以

var factor = 1.25d;
var totalTimer = new TimeSpan(10,1,2,0);
var totalTimer2 = totalTimer.Multiply(factor);

应该做的伎俩。


推荐阅读