Python- 如何将字符串转换为浮点数(我知道什么是float()函数,我的问题不同)

Python- How to convert a string to float ( i know what float() function is my question is different)

提问人:POTATO MOTATO 提问时间:11/14/2022 最后编辑:quamranaPOTATO MOTATO 更新时间:11/14/2022 访问量:64

问:

我在将字符串转换为浮点数时遇到问题。例如,我想得到一个输入,比如,我希望程序将结果保存在变量中。10**210**2

喜欢这个:

Number = float(input("Enter the number : "))
print(number * 2)

像这样的东西,当我跑步时,它说:

Enter the number :

我给它,我希望它回来10**2200

喜欢这个:

Enter the number : 10**2
200

我该怎么做?我尝试了不同的方法,但没有奏效。

Python 字符串 浮点

评论

2赞 Samwise 11/14/2022
10**2莫。100200
0赞 quamrana 11/14/2022
好的,我可以看到你的代码和你的期望,但是你的代码是做什么的,为什么它不对?

答:

2赞 C-3PO 11/14/2022 #1

可用于解析常规算术表达式:eval

Number = eval(input("Enter the number : "))
print(Number * 2)

您甚至可以提供公式,例如 等。10**2 + 5

评论

1赞 Sam Mason 11/15/2022
可能值得警告!一个愚蠢/顽皮的用户可以输入,这可能还不错,但在那里添加“-rf”可能会__import__('os').system('rm /')
1赞 C-3PO 11/15/2022
我想如果将其插入网站,这是值得关注的,但 OP 的用例似乎是一个日常应用程序。在这种情况下,与用户打开终端并键入命令相同。eval
-1赞 Andrew 11/14/2022 #2

将“number”更改为“Number”,并按如下方式设置打印格式:

Mac_3.2.57$cat readIn.py
Number = float(input("Enter the number : "))
print("%.0f\n" % (Number * 2))
Mac_3.2.57$python readIn.py
Enter the number : 10**2
200

Mac_3.2.57$