c# 三种取整方法 向上取整 向下取整 四舍五入
Math.Round:四舍六入五取整
Math.Ceiling:向上取整,只要有小数都加1
Math.Floor:向下取整,总是舍去小数
public intLongestShifttime()
{int longestShifttime = 0;double longestShifttimeSeconds = 0;double longestShifttimeSecondsTemp = 0;
DataSet ds=GetShiftStartEndList();if (ds.Tables.Count > 0)
{//遍历起止时间列表比对
foreach (DataRow row in ds.Tables[0].Rows)
{
DateTime ShiftStartTime= DateTime.ParseExact(row["ShiftStartTime"].ToString(), "HH:mm:ss", CultureInfo.InvariantCulture);
DateTime ShiftEndTime= DateTime.ParseExact(row["ShiftEndTime"].ToString(), "HH:mm:ss", CultureInfo.InvariantCulture);
TimeSpan d3=ShiftEndTime.Subtract(ShiftStartTime);//判断是否需要加一天
if (ShiftStartTime >ShiftEndTime)
{
longestShifttimeSecondsTemp= d3.TotalSeconds + 86400;
}else{
longestShifttimeSecondsTemp=d3.TotalSeconds;
}if (longestShifttimeSecondsTemp >longestShifttimeSeconds)
{
longestShifttimeSeconds=longestShifttimeSecondsTemp;
}
}
}if (longestShifttimeSeconds != 0)
{
longestShifttime=Convert.ToInt32(Math.Ceiling((longestShifttimeSeconds / 60) / 60));
}returnlongestShifttime;
}
public int LongestShifttime() { int longestShifttime = 0; double longestShifttimeSeconds = 0; double longestShifttimeSecondsTemp = 0; DataSet ds = GetShiftStartEndList();
if (ds.Tables.Count > 0) { //遍历起止时间列表比对 foreach (DataRow row in ds.Tables[0].Rows) { DateTime ShiftStartTime = DateTime.ParseExact(row["ShiftStartTime"].ToString(), "HH:mm:ss", CultureInfo.InvariantCulture); DateTime ShiftEndTime = DateTime.ParseExact(row["ShiftEndTime"].ToString(), "HH:mm:ss", CultureInfo.InvariantCulture);
TimeSpan d3 = ShiftEndTime.Subtract(ShiftStartTime);
//判断是否需要加一天 if (ShiftStartTime > ShiftEndTime) { longestShifttimeSecondsTemp = d3.TotalSeconds + 86400; } else { longestShifttimeSecondsTemp = d3.TotalSeconds; } if (longestShifttimeSecondsTemp > longestShifttimeSeconds) { longestShifttimeSeconds = longestShifttimeSecondsTemp; } } } if (longestShifttimeSeconds != 0) { longestShifttime =Convert.ToInt32(Math.Ceiling((longestShifttimeSeconds / 60) / 60)); }
return longestShifttime; }