我的情况是,如果
47/15= 3.13333
Run Code Online (Sandbox Code Playgroud)
我想将它转换为4,如果结果有十进制我想将结果增加1,现在我正在这样做
float res = ((float)(62-15) / 15);
if (res.ToString().Contains("."))
{
string digit=res.ToString().Substring(0, res.ToString().IndexOf('.'));
int incrementDigit=Convert.ToInt16(k) + 1;
}
Run Code Online (Sandbox Code Playgroud)
我想知道c#中是否有任何快捷方式或内置函数,以便我可以快速完成此操作而无需实现字符串函数.
非常感谢.
你的意思是你想要执行整数除法,但总是四舍五入?我怀疑你想要:
public static int DivideByFifteenRoundingUp(int value) {
return (value + 14) / 15;
}
Run Code Online (Sandbox Code Playgroud)
这完全避免了使用浮点运算 - 它只允许任何不是15的精确倍数的值被舍入,这是由于整数运算截断为零的方式.
请注意,这并不能为负输入工作-例如,如果你在此-15通过将返回0,你可以如此修正:
public static int DivideByFifteenRoundingUp(int value) {
return value < 0 ? value / 15 : (value + 14) / 15;
}
Run Code Online (Sandbox Code Playgroud)