-1

if UITextfield でのユーザー入力の値が入力値の 1.67 倍を超えるアラートを送信しようとしています。

- (void)textFieldDidEndEditing:(UITextField *)textField

float x = ([_continuityRingFinalR2.text floatValue]);
float y = (1.67);

if ([_continuityRingFinalR2.text > x * y] )//errors here {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"My message here" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];


    [alert show];
}

_continuityRingCircuitR2.text がユーザー入力の 1.67 倍である場合、アラートが表示されます。ほぼそこにいると思いますが、エラーが発生し続けます([_continuityRingFinalR2.text x * y] )

4

2 に答える 2

1

2 つの異なる入力を扱っていますか? 書かれていることから、浮動小数点値 x を取得しているので、それは決して高くなりません。

if (x > x * y)

y = 1.67 (または 1 以上のその他の値) を設定しているため、これは真ではありません。

別のテキスト フィールドを比較するつもりでしたか?

また、他の回答で述べたように、テキストの代わりにフィールドの float 値を使用する必要もあります。

于 2013-01-13T01:51:18.893 に答える
1

continuityRingFinalR2コンパイラが数値を探している間、「」がラベルであるため、エラーが発生する可能性があります。

これを使用してみてください:

if ([[_continuityRingFinalR2.text floatValue] > x * y] ) {

(この回答は、ラベル内の値が本当に数値であることを前提としています)

于 2013-01-13T01:48:21.787 に答える