c#中的setprecision等价
本文关键字:等价 setprecision 中的 | 更新日期: 2023-09-27 18:03:17
在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
只返回两个DateTime
对象之间的TimeSpan
的TotalMilliseconds
值。
如何在c#中模仿相同的行为?
EDIT:如果loadingTime
值小于1秒,则将值除以1000f
将有效。如果超过1秒,显示的值就会出错。
我的目标是显示从开始点到结束点的加载时间(DateTime.Now
是开始点,startTime
是结束点),以毫秒为单位(最多3个小数点)
使用0.###
说明符:
7d.ToString("0.###", CultureInfo.InvariantCulture);
返回7
,
0.007d.ToString("0.###", CultureInfo.InvariantCulture);
返回0.007