c# - 仅显示可被 5 整除的分钟数
问题描述
我试图仅以可被 5 整除的分钟数显示时间(即:1:00、2:05、3:45 等)
虽然当我输出时间时,我得到 10:00、10:01、10:02、10:03 和 10:04。从来没有 10:05。分钟总是在 0 到 4 之间。
小时和分钟是独立的 Int 的
我究竟做错了什么?
public string TimeAsText {
get {
return Hours.ToString().PadLeft(2, '0') + ":" + (Minutes % 5).ToString().PadLeft(2, '0');
}
}
解决方案
模运算符 ('%') 返回除法的余数。你不想要剩下的。您想使用余数来确定您的输出。
// 未经测试的长版本
if(Minutes % 5 == 0) // IE. minutes is evenly divisible by 5
{
return Hours.ToString().PadLeft(2, '0') + ":" + Minutes.ToString().PadLeft(2, '0');
}
// 未经测试的短版本
return Hours.ToString().PadLeft(2, '0') + ":" + (Minutes % 5 == 0) ? Minutes.ToString().PadLeft(2, '0') : "00";
推荐阅读
- python - 过滤器链的任意深度
- java - 是否可以在没有 setZOrderOnTop(true) 的情况下使 SurfaceView 透明?
- reactjs - 为什么 react-sortable-hoc 基本示例无法使用 typescript 编译?
- python - 多索引数据帧的每一行的减法表(差异)
- javascript - 为什么 location.href 不起作用?
- flask - 如果从烧瓶创建并调用 dash 应用程序,则 Dash 回调不起作用
- python - 在 statsmodel 中使用 OLS 时出错
- python - 如何防止在函数中重写输入变量?
- php - 将多个php数组转换为一个数组
- javascript - JavaScript调用PHP函数总是相同的值