如何将任何整数转换为最接近图的整数

时间:2012-12-19 07:14:58

标签: iphone objective-c ipad

我有图表我希望它应该显示整数这样的图形如20 40 80 100 04 200 250 500 750 1000这样如何在运行时获得这个如果我们的结果是75那么它应该在图形线上显示100如果有

,那就是70岁并且喜欢明智

这里是我得到的最终代码,在我的答案中,最终的最大值是850,我希望那是应该在图表最大值1000;

    int finalmax=(maxone>maxtwo)? maxone:maxtwo;

    finalmax=(finalmax>maxthree)?finalmax:maxthree;

2 个答案:

答案 0 :(得分:1)

你可以取任意数字并将其四舍五入到最接近的百分数除以100然后四舍五入到最接近的整数然后再乘以100。

int i = 70;
float j = roundf(i / 100.0);  // j = 0.7 so rounds to 1
int result = j * 100; // result = 100

...或

int i = 312;
float j = roundf(i / 100.0);  // j = 3.12 so rounds to 3
int result = j * 100; // result = 300

答案 1 :(得分:0)

如果你有静态值,你可以使用这样的代码:

switch (value) {
    case (0)...(20):
        return 20;
        break;
    case (21)...(40):
        return 40;
        break;
    default:
        return 100;
        break;
}

使用动态边界,您应该将值保存在数组中,并搜索大于或等于数字的第一个值