2011-01-05 13 views
0

私は次のことをしようとすると私のNSTextField等NSTextFieldの内部でどのように値を取得できますか?

を「1.67」のようなダブルスが含まれているか、「0.05」:

console.log([priceChange doubleValue]); //priceChange is an NSTextField 

    //Apply styles 
    if([priceChange doubleValue] > 0) 
     [priceChange setTextColor:[NSColor greenColor]]; 
    else if([priceChange doubleValue] < 0) 
     [priceChange setTextColor:[NSColor redColor]]; 
    else if([priceChange doubleValue] == 0) 
     [priceChange setTextColor:[NSColor blackColor]]; 

priceChangeは、値が何か他のものであっても、常に0に等しいです。 priceChangeの値を正しく取得するにはどうすればよいですか?

+0

console.log()?これはObjective-CかObjective-Jですか?カプチーノまたはココア? – d11wtq

+0

ちょっと考えましたが、何とか 'priceChange' nilですか? – d11wtq

答えて

0

これはまさにNSNumberFormatterの対象です。あなたのフィールドに適切なフォーマッタ(IBでの追加/設定が容易)を与え、-objectValueはNSNumberを返し始めます。

0

お試し[[priceChange stringValue] floatValue]文字列の数値の前に空白以外のものがないことを確認するか、floatValueが0を返します。

+0

'[priceChange stringValue] floatValue]' NaNの結果 –

+0

テキストフィールドの値は何ですか? floatに収まるには大きすぎる場合はdoubleValueを試すことができます。 – ughoavgfhw

関連する問題