You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/loewis'closed_at=<Date2003-04-16.19:59:31.000>created_at=<Date2003-04-14.15:32:08.000>labels= ['expert-tkinter']
title='Tkinter precision loss for doubles'updated_at=<Date2003-04-16.19:59:31.000>user='https://github.com/tim-one'
If a proper fix using Tcl float/double objects doesn't work
for some reason, maybe the attached fix (_tkinter.fix) would
work?
loewis commented on Apr 15, 2003
loewismannequin
Mannequin
More actions
Logged In: YES
user_id=21627
I have now fixed this for _tkinter.c 1.154, by passing all
.set arguments with the same object type to Tcl, and
retrieving all Tcl variables with their native type.
This causes slight semantic changes (like the one being
reported as a bug here); most notably:
Re StringVar: I think StringVar should coerce the result to
str(), just like IntVar coerces to int(), etc. Maybe
Variable should grow get() method that does no coercion, and
it should no longer be marked as an internal class.
BTW there are a few places in Tkinter docstrings that
promise 0 or 1 where a bool is now returned.
loewis commented on Apr 16, 2003
loewismannequin
Mannequin
More actions
Logged In: YES
user_id=21627
In Tkinter.py 1.172, StringVars now always returns strings
(potentially Unicode); doc strings have been changed to
mention bools.
Activity
tim-one commentedon Apr 14, 2003
DoubleVar.set() (I think) goes thru PyObject_Str(),
causing precision loss for doubles:
Reported on c.l.py. Guido says you may know how to
create a "native" Tcl/Tk double in this case instead.
gvanrossum commentedon Apr 14, 2003
Logged In: YES
user_id=6380
If a proper fix using Tcl float/double objects doesn't work
for some reason, maybe the attached fix (_tkinter.fix) would
work?
loewis commentedon Apr 15, 2003
Logged In: YES
user_id=21627
I have now fixed this for _tkinter.c 1.154, by passing all
.set arguments with the same object type to Tcl, and
retrieving all Tcl variables with their native type.
This causes slight semantic changes (like the one being
reported as a bug here); most notably:
So a StringVar may not return a string anymore if .set did
not enter a string. Does that need to get fixed?
gvanrossum commentedon Apr 15, 2003
Logged In: YES
user_id=6380
Thanks!
Re StringVar: I think StringVar should coerce the result to
str(), just like IntVar coerces to int(), etc. Maybe
Variable should grow get() method that does no coercion, and
it should no longer be marked as an internal class.
BTW there are a few places in Tkinter docstrings that
promise 0 or 1 where a bool is now returned.
loewis commentedon Apr 16, 2003
Logged In: YES
user_id=21627
In Tkinter.py 1.172, StringVars now always returns strings
(potentially Unicode); doc strings have been changed to
mention bools.