我正在我的一个标签中显示一个数字(如果密钥存在)。如果我在plist中输入98,90,它有时会将数字改为98,9000000000001。所以我想显示两位小数的数字,我正在尝试添加NSNumberFormatter
来完成这项工作。但我不能让它发挥作用,我需要一些帮助来做正确的事。这是我的尝试:
NSString *theString = @"";
if ([selectedObject valueForKey:@"75 cl"] != nil) {
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setPositiveFormat:@"###.##"];
theString = [NSString stringWithFormat:@"75 cl € %@", [formatter stringFromNumber:[selectedObject valueForKey:@"75 cl"]]];
}
sevenfiveLabel.text = theString;
答案 0 :(得分:1)
格式字符串中的#
表示可选数字:如果需要,格式化程序只会在其中放置一个数字。如果要强制它填充字符串,则需要在格式字符串中使用0
。
Format Result
###.## 98.9
##0.00 98.90
000.00 098.90
答案 1 :(得分:1)
您不需要使用NSNumberFormatter
:
NSString *theString = @"";
NSNumber *theNumber = [selectedObject valueForKey:@"75 cl"];
if (theNumber) {
theString = [NSString stringWithFormat:@"75 cl € %.2f", [theNumber floatValue]];
}
sevenfiveLabel.text = theString;