当前位置: 首页 > 面试题库 >

如何将字符串转换为int或优先于int浮动?

徐智渊
2023-03-14
问题内容

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

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

为了澄清,就像有人问的那样,情况基本上是将数字转换为编写配置文件数据的人想要的数字。因此,任何带有小数的东西都可能是浮点数。另外,我认为由于浮点数的性质,对于某些运算符(例如==,<,>),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提出了: 我该如何解决? 问题答案: 在其中一项评论中,您说: 我以某种方式得到了一个N​​onetype值,它应该是一个int,但是现在它是一个Nonetype对象 如果这是您的代码,请弄清楚当您期望有一个数字时您将如何工作,并阻止 这种 情况的发生。 如果是别人的代码,请使用通常的条件代码找出给出的条件,并确定

  • 注意:这个问题包含不建议使用的前1.0代码!不过,答案是正确的。 要在Rust中将转换为,我可以执行以下操作: 我知道如何将转换为的唯一方法是获取其中的一个片段,然后像这样使用: 有没有办法直接将转换为?

  • 我只是无法在c中转换不同的数据类型,我知道c是一种强类型语言,所以我在这里使用了,但我面临一个问题,错误消息是 从“std::string{aka std::basic_string}类型转换为“int”类型的static_

  • 问题内容: 如何在python中将字节字符串转换为int? 这样说: 我想出了一个聪明/愚蠢的方法: 我知道必须有内置的东西或在标准库中可以更简单地执行此操作… 这与转换可以使用int(xxx,16)的十六进制数字字符串不同,但是我想转换一个实际字节值的字符串。 更新: 我有点喜欢James的回答,因为它不需要导入另一个模块,但是Greg的方法更快: 我的骇客方法: 进一步更新: 有人在评论中问导

  • 如何将转换为Java中的? 我的字符串只包含数字,我想返回它所代表的数字。 例如,给定字符串时,结果应该是数字。

  • 这是代码,我正在尝试将分钟数(字符串类型)转换为整数类型,但我有NumberFormatException错误,有人能帮我吗,我如何处理这种情况。谢谢