2011-01-05 13 views
0

Mein NSTextField enthält Doppel wie „1,67“ oder „0,05“ usw.Wie kann ich den Wert innerhalb eines NSTextFields erhalten?

Wenn ich versuche, die folgenden:

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 gleich 0 ist immer, auch wenn der Wert etwas anderes. Wie kann ich den Wert von priceChange richtig berechnen?

+0

console.log()? Ist das Objective-C oder Objective-J? Cappuccino oder Kakao? – d11wtq

+0

Nur ein Gedanke, aber ist 'priceChange' nil, irgendwie? – d11wtq

Antwort

0

Genau das ist NSNumberFormatter. Geben Sie Ihrem Feld einen geeigneten Formatierer (einfach in IB hinzuzufügen/einzurichten), und -objectValue beginnt mit der Rückgabe eines NSNumber.

0

Versuchen Sie [[priceChange stringValue] floatValue]. Stellen Sie außerdem sicher, dass vor der Zahl in der Zeichenfolge nichts anderes als whitespace steht, oder floatValue 0 zurückgibt.

+0

'[priceChange stringValue] floatValue]' ergibt NaN –

+0

Was ist der Wert des Textfelds? Sie könnten doubleValue versuchen, wenn es zu groß ist, um in einen Float zu passen. – ughoavgfhw

Verwandte Themen