-2

这可能应该是一个快照,但我被卡住了。当我在任一文本字段中输入小数时,标签中的总数会向上取整。我希望标签将总数显示到两个地方。这是我到目前为止所拥有的:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {

    IBOutlet UITextField *value1;
    IBOutlet UITextField *value2;

    IBOutlet UILabel *label;

}

-(IBAction)calculate:(id)sender;

@end


@implementation ViewController

-(IBAction)calculate:(id)sender {

    float x = ([value1.text floatValue]);
    float y = x*([value2.text floatValue]);

    label.text = [[NSString alloc] initWithFormat:@"%2.f", y];
}
4

2 回答 2

2

您将标签设置为:

label.text = [[NSString alloc] initWithFormat:@"%2.f", y];

你想要的是:

label.text = [[NSString alloc] initWithFormat:@"%.2f", y];

您的小数点在 2 的错误一侧,这使得它舍入到 0 位而不是 2。

于 2013-03-24T05:41:16.540 回答
-1

它会用两个分数四舍五入你的值,只改变'f'之前的分数大小

[lbl setText:[NSString stringWithFormat:@"%.2f",10.21234]];
于 2013-03-24T06:25:13.427 回答