不确定如何正确地标出标题...但我想知道的是,如果有一些聪明的格式说明符,将采用数字4.5并给我@“4.5”,但也取2号并给我@ “2”。
使用%.1f说明符给我@“4.5”但是@“2.0”。我试图摆脱“.0”位。
这样的野兽是否存在,或者我将不得不对此进行一些数学计算? FWIW,我试图迭代一个从0到5的值的数组,以半步增加,所以0,0.5,1,1.5,...,4.5,5
干杯!
答案 0 :(得分:9)
NSNumberFormatter
在这里是个不错的选择。如果数字是整数,您可以将其配置为不显示小数位数。例如:
NSArray *numbers = @[@0, @0.5, @1.0, @1.5, @2.0, @2.5];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.alwaysShowsDecimalSeparator = NO;
numberFormatter.minimumFractionDigits = 0;
numberFormatter.maximumFractionDigits = 1;
numberFormatter.minimumIntegerDigits = 1;
for (NSNumber *number in numbers) {
NSLog(@"%@", [numberFormatter stringFromNumber:number]);
}
输出:
>> 0
>> 0.5
>> 1
>> 1.5
>> 2
>> 2.5
答案 1 :(得分:0)
这更容易(斯威夫特):
let num1: Double = 5
let num2: Double = 5.52
let numberFormatter = NSNumberFormatter()
numberFormatter.numberStyle = .DecimalStyle
print(numberFormatter.stringFromNumber(NSNumber(double: num1)))
print(numberFormatter.stringFromNumber(NSNumber(double: num2)))
这将打印5然后打印5.52。