2014-11-04 46 views
0

我正在研究一个程序,该程序在Tkinter中的文本小部件中键入并将其保存到变量中时获取用户索引位置。但是,如果索引是1.20,它最终会变成1.2有没有办法确保其中索引1.20的变量保持为1.20?如何防止将数字向下舍入Python Tkinter

我试过使用float()。但这似乎并不奏效。

任何想法?

并且预先感谢您。

+0

为什么你需要'1.20'而不是'1.2',因为'1.20 == 1.2'? – jonrsharpe 2014-11-04 14:20:44

+0

@jonrsharpe因为当使用Tkinter文本控件时,1.20代表一个位置(第一行第20列)。 1.2是第一行第二列。 – 0Cool 2014-11-04 14:22:14

+2

为什么不单独保存两半,例如'row,col = map(int,val.split(“。”))'?你能否提供一个能够证明问题的[最小示例](http://stackoverflow.com/help/mcve)代码? – jonrsharpe 2014-11-04 14:24:26

回答

2

解决方案很简单:不要将索引当作数字来处理,因为它不是数字。这是一个看起来像一个数字的字符串。如果你的代码是四舍五入的值(或截断尾部零),那么你将它视为一个数字。

+0

但我需要它稍后再引用它。所以我可以添加一个标签到位置。 – 0Cool 2014-11-04 19:15:45

+0

@ 0Cool:没关系。这不是一个数字,它是一个字符串。您可以保存该字符串并稍后参考,这与您对待该值的方式无关。你根本不能用它作为数字。您可以将其用作字符串,也可以将其分成两个数字,但不能将索引作为整体作为浮点数处理。 – 2014-11-04 19:34:58