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

0
分享 2013-12-17
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


文章来源:http://blog.csdn.net/esrichinacd/article/details/38899137

0 个评论

要回复文章请先登录注册