2015-09-08 26 views
3

我们在应用程序中需要一个字段的小数位数可变的位数,从Web服务返回小数位数的规则,用户可以更改该规则从门户网站转换为具有可变小数位数的浮点数Obj-C

假设float number = 125.879601223

我需要什么,如果

int numberOfDecimalPlaces = 4 
NSString *convertedString = @"125.8796" 

,或者

int numberOfDecimalPlaces = 2 
NSString *convertedString = @"125.87" 

需要一种基于numberOfDecimalPlaces规则转换字符串,感谢

回答

3
NSString *patternStr = [NSString stringWithFormat:@"%%0.%df", numberOfDecimalPlaces]; 
NSString *convertedString = [NSString stringWithFormat:patternStr, number]; 
+0

谢谢,它帮助 – Usama

1

您可以使用:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 

[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
[formatter setMaximumFractionDigits:numberOfDecimalPlaces]; 
[formatter setRoundingMode: NSNumberFormatterRoundUp]; 

NSString * convertedString = [formatter stringFromNumber:[NSNumber numberWithFloat: number]]; 
相关问题