我正在调试薪资计算器,我希望将变量四舍五入到最接近的50,但不包括100。
例如,我有变量23324.60,我需要一个等于23350.00的公式。
这是为了满足以下有关AR税金预扣计算的说明。
“由于应税净收入少于50,000,我们将收入提高到$ 50的中间价格$ 23,350.00(中间价格为$ 23,300.00和$ 23,400.00)。”
答案 0 :(得分:1)
由于四舍五入为50的奇数倍,您可以将其视为向下四舍五入至100,然后再加50。例如,这将使200和299.99都舍入为250
基于此方法的解决方案是:
double rounded_income(double income) {
return 50.0 + 100.0 * floor(income / 100.0);
}
The floor
function位于<cmath>
标头中。另一种方法是在整数类型之间来回转换,但会带来许多缺点,包括可读性大大降低。
答案 1 :(得分:-1)
#include <iostream>
#include <math.h>
using namespace std;
int getRoundUp50(float value)
{
return ceil(value * 0.02) * 50;
}
int main()
{
cout << getRoundUp50(120.5) << endl;
cout << getRoundUp50(125.0) << endl;
return 0;
}
结果:
150
150
答案 2 :(得分:-2)
试图直观展示。不要犹豫,发表评论以供进一步讨论。
<img src="img/icons/cloud.png" id="scroll"></img>