将float值舍入为十进制后的一个值

时间:2011-04-04 06:37:27

标签: iphone objective-c

我正在编写一个代码,其中我有一个浮动值,如29.8888,当我这样做时: -

float value=29.8888
NSLog(@"value=%0.2f",value);

我得到29.8,现在完全没问题,我想在另一个浮点变量中分配这个值。我不知道该怎么做请帮助

提前感谢!

2 个答案:

答案 0 :(得分:5)

float roundedValue = round(2.0f * number) / 2.0f;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setMaximumFractionDigits:1]; 
[formatter setRoundingMode: NSNumberFormatterRoundDown];  
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:roundedValue]]; 
[formatter release];

我发现了这个,这应该是自我解释。 另一种简单便宜的方式:

float f = 29.8888; 
int i = f *10; // 298 
float answer = i/10.0f; //29.8

答案 1 :(得分:-1)

float z = [[NSString stringWithFormat:@"%0.2f", value, nil] floatValue];