如何在C#中将任意值舍入到10个区间?例如,如果我有11,我希望它返回10,如果我有136,那么我希望它返回140.
我可以轻松地手工完成
return ((int)(number / 10)) * 10;
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种内置算法来完成这项工作,比如Math.Round().我不想手工做的原因是我不想在我的项目中编写相同或类似的代码,即使是像上面那样简单的东西.
我需要一个函数,通过该函数我可以将数字转换为给定倍数的最接近值.
例如,我想要一个数字数组设置为16的neareast倍数,所以2 = 0,5 = 0,11 = 16,17 = 16,30 = 32等
谢谢
我一直在搜索这个问题几个小时,但我找不到答案所以我问它:
我正在寻找一种方法或一些四舍五入25,599,999至25,000,000或25,599,999到30,000,000:
int num1 = 25599999;
Console.WriteLine(RoundDown(num1, 6 /* This is the places (numbers from end that must be 0) */)) // Should return 25,000,000;
Run Code Online (Sandbox Code Playgroud)
或者向上:
int num1 = 25599999;
Console.WriteLine(RoundUp(num1, 6 /* This is the places (numbers from end that must be 0) */)) // Should return 30,000,000;
Run Code Online (Sandbox Code Playgroud)
注意:我不是在寻找一种舍入十进制数的方法.