gpt4 book ai didi

python - PyQt 不会将我的答案显示为 float

转载 作者:行者123 更新时间:2023-12-01 04:06:50 26 4
gpt4 key购买 nike

我正在尝试制作一个简单的计算器,它将接受用户输入的 2 个数字并将它们相乘。但是,当我将 ans_string 设置为 float 时,代码不起作用,但如果我将其设置为 str,则代码可以工作。

我希望能够输入带小数位的数字,并且在答案中仅显示 2 位小数。

如果我使用 ans_str 运行代码,则会收到以下错误“AtrributeError:'QLabel'对象没有属性'setT'

from PyQt5.QtWidgets import QMainWindow, QWidget, QApplication

from ui_multform import Ui_CalcWindow

class MainWindow(QMainWindow, Ui_CalcWindow):
def __init__(self, parent = None):
super(MainWindow, self).__init__(parent)
self.ui = Ui_CalcWindow()
self.ui.setupUi(self)

self.ui.pushButton.clicked.connect(self.mult)

def mult(self, value):
in_num1 = float(self.ui.lineEdit.text())
in_num2 = float(self.ui.lineEdit_2.text())
ans = in_num1 * in_num2
ans_string = float(ans) # << here ans_string is created
print (ans_string) # << Where u need to put it
self.ui.label_2.setText(ans_string)


if __name__ == '__main__':
import sys
app = QApplication(sys.argv) # A new instance of QApplication
calculator = MainWindow() # We set the form to be our MainWindow (design)
calculator.show() # Show the form
sys.exit(app.exec_())

最佳答案

您只需将 float 转换为字符串,并应用您想要用来显示正确的小数位数的格式。您可以使用 python string formatting mini-language将 float 转换为字符串,并且只显示两位小数。

ans_string = '{0:0.2f}'.format(ans)
self.ui.label_2.setText(ans_string)

关于python - PyQt 不会将我的答案显示为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35444716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com