gpt4 book ai didi

python - 如何将字符串转换为 int 或优先于 int 的 float ?

转载 作者:太空狗 更新时间:2023-10-29 18:15:22 25 4
gpt4 key购买 nike

当我想要这个时我找不到另一个答案,所以我想我会为其他人发布我自己的解决方案,如果我做错了什么也会得到更正。

我必须制作一个自动配置文件解析器,我更喜欢尽可能将数字设为 int,否则设为 float。通常的 try/except 转换本身不起作用,因为任何 float 都会被强制转换为 int。

澄清一下,正如有人问的那样,这种情况基本上是按照编写配置文件数据的人的意图转换数字。所以任何带小数的东西都可能是一个 float 。此外,我认为由于 float 的性质,float 对于某些运算符(例如 ==、<、>)可能是危险的,并且 int 会在必要时转换为 float。因此,我更喜欢数字尽可能留在 int 中。没什么大不了的,只是我自己的一种约定。

最佳答案

def int_or_float(s):
try:
return int(s)
except ValueError:
return float(s)

如果你想将 "10.0000" 转换为 int,试试这个:

def int_dammit_else_float(s):
f = float(s)
i = int(f)
return i if i == f else f

对于像 "1e25" 这样的输入,您想要什么结果?

关于python - 如何将字符串转换为 int 或优先于 int 的 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5608702/

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