2014-01-23 85 views
-2

您好,我正在嘗試將UITextField中的用戶輸入設置爲Decimal Pad以使浮點數等於該值。將UITextField轉換爲浮點型

// 
// ViewController.h 
// tiptest 
// 
// Created by NUGZ on 1/23/14. 
// Copyright (c) 2014 NUGZ. All rights reserved. 
// 

#import <UIKit/UIKit.h> 

float tipAmount1; 
float tipAmount2; 
float tipAmount3; 
float tipAmount4; 

@interface ViewController : UIViewController { 

IBOutlet UITextField *tip1; 
IBOutlet UITextField *tip2; 
IBOutlet UITextField *tip3; 
IBOutlet UITextField *tip4; 

IBOutlet UILabel *total; 

} 

-(IBAction)tally:(id)sender; 

@end 

在實現文件中我曾嘗試做如下:

- (void)viewDidLoad 
{ 

    tipAmount1 = [tip1 floatValue]; 

    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

但它告訴我「爲‘的UITextField’無可見@interface聲明選擇‘的floatValue’任何想法?我想最終使它所以我可以獲取用戶輸入的在float多UITextFields然後添加所有的花車共計。

+1

請勿使用'floatValue'將用戶輸入的文本轉換爲'float'。它不適用於許多用戶。改爲使用「NSNumberFormatter」。 – rmaddy

回答

1

tipAmount1 = [[tip1 text] floatValue]; 一個的UITextField不只是一個NSString,它具有文本WH你可以把字符串。

1
- (void)viewDidLoad { 
    tipAmount1 = [tip1.text floatValue]; 

    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 
+0

使用此方法時,它不會返回插入到UITextField中的值,僅當調用按鈕方法時才爲0.000000。 (IBAction)tally:(id)sender { total.text = [NSString stringWithFormat:@「%f」,tipAmount1]; } – stickynugz