如何在NSTextField中获取值?

时间:2011-01-05 04:32:14

标签: objective-c cocoa macos double 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的值?

2 个答案:

答案 0 :(得分:0)

试试[[priceChange stringValue] floatValue]。还要确保字符串中的数字前面没有空格,否则floatValue将返回0.

答案 1 :(得分:0)

这正是NSNumberFormatter的用途。为您的字段提供合适的格式化程序(在IB中轻松添加/设置),-objectValue将开始返回NSNumber