我在可为空的 DateTime 上调用 ToMinutes(),这将返回一个双精度数,但如果它不为空,我希望将其转换为最接近的整数。
例子:从1534488.74496255
到1534489
我怎样才能做到这一点 ?
可能是您所追求的以下内容吗?这将返回最接近的较低整数。
int timeAsWholeMinute = (int) Math.Floor(timeInMinutes);
或者如果你只想要最接近的整数:
int timeAsWholeMinute = (int) Math.Round(timeInMinutes);
当你想四舍五入时,只需四舍五入:
double source = 1534488.74496255;
// if you want double (i.e. floating point result)
double result = Math.Round(source);
// if you want integer outcome (and source is positive)
int minutes = (int) (source + 0.5);
// if you want integer outcome (general case)
int minutes = (int) (source > 0 ? source + 0.5 : source - 0.5);