我想问一下如何将数字舍入如下:
我正在计算一个数字,我得到例如246,5。我想把这个数字四舍五入到250.另一个例子是581到600。
有没有办法在iOS中执行此操作?怎么样?
我实际上想要将数字舍入到50的倍数的数字。我想用它来缩放我正在生成的图表的y轴。
我有一个数字的aray,每个数字都用一个等式计算,我只想格式化每个数据,例如(250(如果是246,5));(如果是586,2则为600)
答案 0 :(得分:7)
我不清楚你想要回合什么。在第一个示例中,您将舍入到下一个十位。在第二个到下一个几百个。无论如何,一般的方式是:
import <math.h>
....
NSInteger roundToCloser = 1; // 1 to round to closer unity, 10 closer tens, 100 closer hundreds and so on
CGFloat notRounded = 144.5; // Put yours
NSInteger rounded = roundf(notRounded / roundToCloser) * roundToCloser;
// roundToCloser == 1 -> 144
// roundToCloser == 10 -> 140
// rountToCloser == 100 -> 100
// ....
....
更新:如果您要按50步舍入,只需将roundToCloser设置为50:
import <math.h>
....
CGFloat notRounded = 144.5; // Put yours
NSInteger rounded = roundf(notRounded / 50) * 50;