如何将带有千位分隔符的数字字符串转换为整数?

7 投票
4 回答
4714 浏览
提问于 2025-04-15 19:33

在Python中,有什么简单又优雅的方法可以把像“1,374”或“21,000,000”这样的字符串转换成整数,比如1374或21000000呢?

4 个回答

3

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水桶倒到另一个水桶里。

有些时候,我们会遇到一些问题,比如数据的格式不对,或者数据不完整。这就像是水桶里有个洞,水流不进去。为了避免这些问题,我们需要确保在开始之前,所有的数据都是正确的。

另外,处理数据的时候,我们也要注意效率。就像是搬家时,如果你用小箱子搬大件物品,那就会浪费很多时间和精力。所以在编程中,我们要选择合适的方法来处理数据,这样才能更快、更有效率。

总之,处理数据就像是搬运水,确保水流顺畅,选择合适的工具和方法,这样才能让整个过程变得简单和高效。

>>> s="1,374"
>>> import locale
>>> locale.setlocale(locale.LC_NUMERIC, '')
'en_US.UTF-8'
>>> locale.atoi(s)
1374
4

locale.atoi() 是一个函数,使用之前需要先设置好合适的地区设置。

9

这真的要看你是从哪里得到这个数字的。

如果你要转换的数字是用户输入的,那就用 locale.atoi()。这样,数字会按照用户的设置来解析,符合他们的预期。

但如果你是从一个文件里读取这个数字,而这个文件总是用同样的格式,那么可以用 int("1,234".replace(",", "")) 或者 int("1.234".replace(".", "")),具体用哪个要看你的情况。这种方法不仅更容易阅读和调试,而且不受用户地区设置的影响,所以你的解析器在任何系统上都能正常工作。

撰写回答