-1

我在可为空的 DateTime 上调用 ToMinutes(),这将返回一个双精度数,但如果它不为空,我希望将其转换为最接近的整数。

例子:从1534488.744962551534489

我怎样才能做到这一点 ?

4

2 回答 2

1

可能是您所追求的以下内容吗?这将返回最接近的较低整数。

int timeAsWholeMinute = (int) Math.Floor(timeInMinutes);

或者如果你只想要最接近的整数:

int timeAsWholeMinute = (int) Math.Round(timeInMinutes);
于 2016-06-22T12:40:44.403 回答
0

当你想四舍五入时,只需四舍五入:

  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);
于 2016-06-22T14:22:46.217 回答