[Tutor] Floating point error in tkinter

Steven D'Aprano steve at pearwood.info
Fri Mar 9 15:40:06 CET 2012


On Fri, Mar 09, 2012 at 02:09:23PM +0100, Válas Péter wrote:
> Hi,
> 
> I use a tkinter-based editor that ran properly earlier on English Windows
> XP. Now I use Hungarian Windows 7 with Python 2.7.2. You must know that in
> Hungary decimal fractions are marked with a decimal comma, not a dot (e.g.
> pi=3,1415...).
> 
> I suspect it somehow gets a Hungarian decimal from Windows and can't
> understand it. So when I page up and down with PgUp/PgDn buttons, it works
> well. When I use the wheel on mouse, it's OK, too. But when I try to use
> the vertical scrollbar of the window with mouse, error messages flood my
> screen and it won't work. Dou you think this is a Python bug? 

What makes you think it is a Python bug? Is there something that makes 
you expect that Tkinter should accept strings with commas instead of 
floats?

The error message is pretty clear: tkinter is expecting a float, but 
receiving a string instead.

TclError: expected floating-point number but got "0,0016"

Unless there is documentation that says that it will accept strings 
with commas, this is not a Python bug. It may be a bug in the editor, 
but not in the Python language.

By the way, it seems that a lot of other code has this same problem.
You might find that running this:

import locale
locale.setlocale(locale.LC_ALL, 'english_us')

just before the editor starts up might help:

http://forums.arcgis.com/threads/27427-arcpy-and-easygui-eventloop-conflict



-- 
Steven



More information about the Tutor mailing list