我每次按下按钮时都会尝试在我的标签上添加0.01但是当我这样做时输出:0.010000而不是0.01?
这是我的代码:
//。h
@property (nonatomic, assign) double userPoints;
//。米
- (IBAction)myButton
{
self.userPoints = self.userPoints + 0.01;
self.myLabel.text = [NSString stringWithFormat:@"%lf", self.userPoints];
}
答案 0 :(得分:7)
你需要通过使用%。2来告诉你的浮点数只能输出两位小数:
self.myLabel.text = [NSString stringWithFormat:@"%.2lf", self.userPoints];
答案 1 :(得分:4)
虽然使用C样式格式字符串会起作用,但如果这是一个面向控件的用户,那么对于更加本地化的解决方案来说它可能更好。
看看NSNumberFormatter。这样的事情应该有效:
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle: NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits: 2];
self.myLabel.text = [formatter stringFromNumber: @(self.userPoints)];
(将格式化程序保存为成员也会更有效......)