如何获取 NSTextField 内部的值?

发布于 2024-10-10 06:10:25 字数 540 浏览 5 评论 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的值?

My NSTextField contains doubles like "1.67" or "0.05" etc.

When I try the following:

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 is equal to 0 always, even when the value is something else. How can I properly get the value of priceChange?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦回旧景 2024-10-17 06:10:25

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

This is precisely what NSNumberFormatter is for. Give your field a suitable formatter (easy to add/setup in IB), and -objectValue will start returning an NSNumber.

清泪尽 2024-10-17 06:10:25

尝试[[priceChange stringValue] floatValue]。还要确保字符串中的数字之前除了空格之外没有任何其他内容,否则 floatValue 将返回 0。

Try [[priceChange stringValue] floatValue]. Also make sure there is nothing other than whitespace before the number in the string, or floatValue will return 0.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文