相关疑难解决方法(0)

C++:向上舍入到最接近的数字的倍数

好的 - 我几乎不好意思在这里张贴这个(如果有人投票结束我会删除),因为这似乎是一个基本问题.

这是在C++中舍入到数字的倍数的正确方法吗?

我知道还有其他与此相关的问题,但我特别感兴趣的是知道在C++中执行此操作的最佳方法是什么:

int roundUp(int numToRound, int multiple)
{
 if(multiple == 0)
 {
  return numToRound;
 }

 int roundDown = ( (int) (numToRound) / multiple) * multiple;
 int roundUp = roundDown + multiple; 
 int roundCalc = roundUp;
 return (roundCalc);
}
Run Code Online (Sandbox Code Playgroud)

更新:对不起我可能没有明确意图.这里有些例子:

roundUp(7, 100)
//return 100

roundUp(117, 100)
//return 200

roundUp(477, 100)
//return 500

roundUp(1077, 100)
//return 1100

roundUp(52, 20)
//return 60

roundUp(74, 30)
//return 90
Run Code Online (Sandbox Code Playgroud)

编辑:感谢所有的回复.这是我的目的:

int roundUp(int numToRound, int multiple)
{
 if(multiple == 0)
 {
  return numToRound;
 } …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm rounding

155
推荐指数
9
解决办法
11万
查看次数

如何使用excel VBA round()?

我有以下数据:

cell(1,1) = 2878.75
cell(1,2) = $31.10
cell(2,1) = $89,529.13
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用时round(cells(1,1).value*cells(1,2).value),2),结果不匹配cell(2,1).我认为它与舍入问题有关,但我只是想知道是否有可能round()采取正常行动.也就是说,为了value > 0.5,向上舍入.为了value < 0.5,向下舍入?

excel vba excel-vba

11
推荐指数
3
解决办法
13万
查看次数

标签 统计

algorithm ×1

c++ ×1

excel ×1

excel-vba ×1

rounding ×1

vba ×1