四舍五入 dateTimePicker 值
Round off dateTimePicker value
我正在计算 dateTimePicker2
和 dateTimePicker1
之间的差异并将其转换为分钟,
durinmin = Convert.ToInt32((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);
问题是,例如,如果差值为“00:17:40”,则 durinmin = 18
。但我只想保留已完成分钟的值,即 durinmin=17
是我希望我的程序考虑的值。如何获得?
只需使用Math.Floor
durinmin = (int)Math.Floor((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);
虽然说过我不希望出现这种行为,但我只是注意到 Convert.ToInt32
舍入而不是截断 - 所以它的行为完全符合预期。 TotalMinutes
属性 返回 17.6666(等),四舍五入为 18。
您需要做的就是使用转换而不是方法 - 转换为 int
将截断为 0:
TimeSpan difference = dateTimePicker2.Value - dateTimePicker1.Value;
int minutes = (int) difference.TotalMinutes;
不使用 TotalMinutes,而是使用 TimeSpan 的分钟 属性:
durinmin = Convert.ToInt32((dateTimePicker2.Value - dateTimePicker1.Value).Minutes);
我正在计算 dateTimePicker2
和 dateTimePicker1
之间的差异并将其转换为分钟,
durinmin = Convert.ToInt32((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);
问题是,例如,如果差值为“00:17:40”,则 durinmin = 18
。但我只想保留已完成分钟的值,即 durinmin=17
是我希望我的程序考虑的值。如何获得?
只需使用Math.Floor
durinmin = (int)Math.Floor((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);
虽然说过我不希望出现这种行为,但我只是注意到 Convert.ToInt32
舍入而不是截断 - 所以它的行为完全符合预期。 TotalMinutes
属性 返回 17.6666(等),四舍五入为 18。
您需要做的就是使用转换而不是方法 - 转换为 int
将截断为 0:
TimeSpan difference = dateTimePicker2.Value - dateTimePicker1.Value;
int minutes = (int) difference.TotalMinutes;
不使用 TotalMinutes,而是使用 TimeSpan 的分钟 属性:
durinmin = Convert.ToInt32((dateTimePicker2.Value - dateTimePicker1.Value).Minutes);