我想根据任意分歧进行舍入,例如我得到一个从0到1的数字,我想根据分为48舍入它,例如如果我得到像5/96这样的东西,我想要2/48或3/48。这样做的好方法是什么?
答案 0 :(得分:2)
与舍入到小数符号相同。如果您有n
'分部'和数字x
,请执行round(x*n)/n
在您的示例中,它将是round((5/96)*48)/48 = round(2.5)/48 = 2/48
round
可以替换为floor
或ceil
,具体取决于您想要的方向。
答案 1 :(得分:0)
假设整数除法,因此它将向下舍入:
float retVal = scaleRange(in, oldMin, oldMax, newMin, newMax) {
return (in / ((oldMax - oldMin) / (48 - 0))) + 0;
}