2
public double TotalMilliseconds
{
    [__DynamicallyInvokable]
    get
    {
        double num = (double)this._ticks * 0.0001;
        if (num > 922337203685477.0)
        {
            return 922337203685477.0;
        }
        if (num < -922337203685477.0)
        {
            return -922337203685477.0;
        }
        return num;
    }
}

-922337203685477.5808<=刻度 * 0.0001<=922337203685477.5807

为什么它会削减小数部分?

pinckerman 说“双精度为 15-16 位”。但是为什么 TotalSeconds 不削减小数部分?

public double TotalSeconds
{
    [__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
    get
    {
        return (double)this._ticks * 1E-07;
    }
}
4

2 回答 2

0

我看过单声道。

public double TotalMilliseconds
{
    get
    {
      return (double) _ticks  / TicksPerMillisecond;
    }
}

它似乎只是特定于实现的。

于 2013-08-19T02:36:10.300 回答
0

您应该检查类型精度: MSDN double definition
如您所见, adouble具有 15-16 位的精度,并且您将大部分用于整数部分。

于 2013-08-19T02:21:53.903 回答