如何获得 eval 语句来将数字作为浮点数运行

发布于 2024-12-24 20:25:49 字数 303 浏览 1 评论 0原文

我创建了一个 GUI 计算器(包括屏幕截图),当按下按钮时,它会向 textctrl 添加文本,以便向用户显示方程。当用户按下 Enter 键时,它会获取该文本并使用 eval 运行它,然后使用 SetValue 打印,但是如果我在 texctrl 中运行像 5/6 这样的问题,它会显示为 0 我如何使其成为浮点数

def eenter(self,e):
    a=self.box.GetValue()
    answer=eval(a)
    ans=str(answer)
    self.box.SetValue(ans)

I have created a GUI calculator (a screen shot included) and when a button is pressed it adds text to the textctrl so that the equation is displayed to the user. when the user presses enter it takes that text and runs it usesing eval then prints using SetValue but if i run a problem in the texctrl like 5/6 it comes out as 0 how do i make that a float

def eenter(self,e):
    a=self.box.GetValue()
    answer=eval(a)
    ans=str(answer)
    self.box.SetValue(ans)

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

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

发布评论

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

评论(3

故事还在继续 2024-12-31 20:25:49

放在文件的顶部:

from __future__ import division

这重新定义了 / 的含义,因此它始终是浮点除法。 (整数除法是 //。)

有关其含义的更多信息,请参阅 PEP 238

Place at the top of your file:

from __future__ import division

This redefines the meaning of / so it is always floating point division. (Integer division is //.)

For more information on what this means, see PEP 238.

魔法唧唧 2024-12-31 20:25:49

只需在程序的开头添加以下行:

from __future__ import div

这将使除法在 Python 2.x 中的行为与在 Python 3.x 中的行为相同:如果是整数,则自动转换为浮点数运算符将产生十进制数。

Just add on the start of your program, the following line:

from __future__ import division

That will make divisions behave in Python 2.x as they do in Python 3.x: with automatic casting to float if integer operators would result in a decimal number.

转角预定愛 2024-12-31 20:25:49

您可以尝试将输入更改为:

5/6.0

上面会将结果转换为 float 类型

You can try changing your input to this:

5/6.0

The above will convert the result to the float type

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