我如何舍入到最接近的整数

时间:2016-06-22 12:05:21

标签: c# datetime nullable minute

我在可以为空的DateTime上调用ToMinutes(),这会返回一个double,但如果它不为null,我希望将它转换为最接近的整数

示例:从1534488.744962551534489

我该怎么做?

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分: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);