0

我的 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 的值?

4

2 回答 2

0

这正是NSNumberFormatter目的。为您的字段提供合适的格式化程序(易于在 IB 中添加/设置),-objectValue 将开始返回一个NSNumber.

于 2011-01-05T10:22:52.393 回答
0

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

于 2011-01-05T05:07:51.307 回答