label.text = [NSString stringWithFormat:@"%.2f",final];
以上语句显示变量“final”中可用的浮点值,小数点后两位数。
我想显示小数位数,具体取决于我给像这样的整数变量的数字
label.text = [NSString stringWithFormat:@"%.if",j,final]
这里j是整数变量。无论我为j取得多少小数,它应该显示。我需要正确的语法来显示上述语句。
答案 0 :(得分:4)
IEEE printf spec表示的Apple follows:
字段宽度或精度或两者都可以用星号表示 ('*')。在这种情况下,int类型的参数提供字段宽度 或精确。
这意味着
label.text = [NSString stringWithFormat:@"%.*f",j,final]
可能会有效,但我现在没有可用于测试它的平台。
答案 1 :(得分:2)
NSNumberFormatter
能够做你想做的事。在格式化字符串之前,可以使用变量设置以下任何方法。
- (void)setMinimumIntegerDigits:(NSUInteger)number
- (void)setMinimumFractionDigits:(NSUInteger)number
- (void)setMaximumIntegerDigits:(NSUInteger)number
- (void)setMaximumFractionDigits:(NSUInteger)number
答案 2 :(得分:0)
我不知道是否有一个可以做你想做的单行班,但你可以随时做:
NSString* formatString = [NSString stringWithFormat: @"%%.%if", j];
label.text = [NSString stringWithFormat:formatString, final];
答案 3 :(得分:0)
您可以使用 NSNumberFormatter ,
NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
[nf setFormatterBehavior:NSNumberFormatterBehaviorDefault];
[nf setNumberStyle:NSNumberFormatterDecimalStyle];
[nf setMaximumFractionDigits:j]; // Set the number of decimal places here
label.text = [nf stringFromNumber:[NSNumber numberWithFloat:final]];
[nf release];