我想得到一个TimeSpan与另一个TimeSpan的比率(基本上是从它的总时间开始播放视频的进度).我目前的方法是获取两个TimeSpan对象的毫秒数,并将一个对象除以另一个.就像是:
int durationInMilliseconds = totalTimeSpan.Milliseconds;
int progressInMilliseconds = progressTimeSpan.Milliseconds;
Double progressRatio = progressInMilliseconds / durationInMilliseconds;
Run Code Online (Sandbox Code Playgroud)
有更直接的路线吗?这是一个简单的问题,我只是好奇,如果有一个超级优雅的方式来解决它.
为所有詹姆斯干杯
JDu*_*ley 17
double progressRatio = progressTimeSpan.Ticks / (double)totalTimeSpan.Ticks;
Run Code Online (Sandbox Code Playgroud)
您必须将一个转换为double,否则C#将执行整数除法.刻度优于TotalMilliseconds,因为它是如何存储的,并避免任何转换.
Ric*_*lay 16
您应该使用Ticks或TotalMilliseconds,具体取决于所需的精度.毫秒是超过当前秒数的毫秒数.
至于更好的解决方案,它并不比分区简单,因此您当前的解决方案很好(减去错误).
| 归档时间: |
|
| 查看次数: |
4283 次 |
| 最近记录: |