C#中的setprecision等效?

时间:2015-07-18 10:38:45

标签: c#

在C ++中我会这样做:

auto loadingTime = TimeUtilities::getDistance<milliseconds_t>(TimeUtilities::getNow(), startTime);
std::cout << "Reset all accounts and players in " << std::setprecision(3) << loadingTime / 1000.f << " seconds!" << std::endl << std::endl;

然而在C#中我尝试做类似的事情,但失败了:

double loadingTime = TimeUtil.GetDistanceInMilliseconds(DateTime.Now, startTime);

Console.WriteLine("Reset all accounts and characters in {0:0.000} seconds!", loadingTime);

方法GetDistanceInMilliseconds只返回两个TotalMilliseconds对象之间TimeSpan的{​​{1}}值。

如何在C#中模仿相同的行为?

编辑:如果DateTime值小于1秒,则将值除以1000f即可。如果超过1秒,显示的值将是错误的。

我的目标是显示从起点到终点的加载时间(loadingTime是起点,DateTime.Now是终点),以毫秒为单位(最多3个小数点)。

1 个答案:

答案 0 :(得分:0)

使用0.###说明符:

7d.ToString("0.###", CultureInfo.InvariantCulture);

返回7

0.007d.ToString("0.###", CultureInfo.InvariantCulture);

返回0.007