【短篇】Python下如何把带有千位分隔符的浮点数字符串形式转化为数字

ok,标题写的有点晦涩,其实意思很简单就是如何把

“12,345.678”   (str)

转化为

12345.678  (float)

为什么会有这个问题呢,其实就是 ArcMap 在导出表格数据到 txt 的时候,会把浮点数做成这种样子

如果没有分隔符的话,python的处理方法很简单了,就是

f = float(s)

但可惜的是,float是不支持这个分隔符的

那么下面就是解决方法了,有两个

1,直接使用 replace,相当于把这个逗号先替换掉,再做 float ,这是可以的,简单粗暴,具体就不上代码了

2,这个方法更优雅点,就是使用 locale,代码多了几行,不过如果你有一枚国际化和本地化的心,那么这种方法适合你

from locale import
*

setlocale(LC_NUMERIC,
‘English_US’)

atof(‘123,456’)  
 # 123456.0





转载自:https://blog.csdn.net/esrichinacd/article/details/38899137

You may also like...