转换$45000000.00(str)

2024-05-17 00:18:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python非常陌生,我想把一个字符串$45000000.00转换成一个float。你知道吗

我是用一种非常愚蠢的方法来做这件事的,把绳子切成薄片,然后把它们加在一起。。。你知道吗

test_data1 = "$45,300.000"
test_data1_1 = test_data1[1:3]
test_data1_2 = test_data1[4:7]
test_data1_3 = test_data1_1 + test_data1_2

c = float(test_data1_3)

既然在这个例子中,我可以得到45300作为我想要的int结果,但是,如果我有23456.78美元这样的东西,那么我就不能用这种愚蠢的方式来转换它了……那么有没有一种更像python的方法来做这件事呢?非常感谢!你知道吗


Tags: 方法字符串test方式float例子int薄片
2条回答

这是最普遍的解决方案,它应该适用于所有情况!!!你知道吗

In [1]: import re

In [2]: x = re.sub("[^0-9|\.]","","$42,000,000.00")

In [3]: x
Out[3]: '42000000.00'

In [4]: float(x)
Out[4]: 42000000.0

如果您的号码没有逗号,那么您只需执行Mike Sperry在评论中链接的this。但是,由于情况并非如此,您可以尝试以下方法:

money = "$45,000,030.01"
moneyAsFloat = float(money.replace(",", "")[1:])

相关问题 更多 >