Object-C 经过随机数并四舍五入保留两位小数获取NSNumber
Object-C 通过随机数并四舍五入保留两位小数获取NSNumber
在学习Object-C 过程中碰到需要生成随机数的,并且还要保留小数点后指定位数,往上搜索没有一个统一的答案, 自己尝试过后如下解决
首先从c代码测试来看结果
#include <stdio.h> #include <stdlib.h> #include <time.h> int main (int argc, const char * argv[]) { int i; srand((unsigned int) time(NULL)); for(i=0;i<9;i++){ printf("%.2f\n",(float)(rand()%100001)*0.001f); } return 0; }
这样就生成了我要的100以内的随机数,我还需要一些负数,所以就最后还要减去50
NSNumber* tempnumber = [NSNumber numberWithDouble:[[NSString stringWithFormat:@"%.2f", (float)(rand()%100001)*0.001f -20] doubleValue]];