#473: setObjectValue does not set floats, integers in NSTextFields properly. -----------------------------------+---------------------------------------- Reporter: johnmacs...@… | Owner: lsansone...@… Type: defect | Status: new Priority: major | Milestone: Component: MacRuby | Keywords: NSTextField, setObjectValue -----------------------------------+---------------------------------------- When using setObjectValue (NSControl) with MacRuby floats and integer, though they are a subclass of NSNumber,they are not properly set (copied?).
For example in macirb: irb(main):001:0> framework "Cocoa" => true irb(main):002:0> tf = NSTextField.alloc.init => #<NSTextField:0x20024b5a0> irb(main):003:0> num = NSNumber.numberWithFloat(23.3) => 23.2999992370605 irb(main):004:0> tf.setObjectValue(num) => #<NSTextField:0x20024b5a0> irb(main):005:0> p tf.stringValue "0" => "0" irb(main):006:0> p num.superclass.superclass NSNumber => NSNumber irb(main):007:0> tf.setFloatValue(23.3) => #<NSTextField:0x20024b5a0> irb(main):008:0> p tf.stringValue "23.29999923706055" => "23.29999923706055" or, more simply: irb(main):013:0> tf.setObjectValue(23.3) => #<NSTextField:0x20024b5a0> irb(main):014:0> p tf.stringValue "0" => "0" To contrast with proper behavior, with the following obj C code: NSTextField *tf = [[NSTextField alloc] init]; NSNumber *num = [NSNumber numberWithFloat:23.3]; [tf setObjectValue:num]; NSLog(@"string value of tf %@", [tf stringValue]); results in the following: 2009-12-01 14:48:56.553 TextFieldSet[12012:a0f] string value of tf 23.3 -- Ticket URL: <http://www.macruby.org/trac/ticket/473> MacRuby <http://macruby.org/> _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel