'daki bir float numarasına nokta ve virgül ile bir dize nasıl dönüştürebilirim Python'da 123456.908 numaralı float numarasına "123,456.908" gibi bir dizgiyi nasıl dönüştürebilirim? Çok teşekkürler.Python
Python
cevap
Sadece kaldırmak ,
replace()
ile:
float("123,456.908".replace(',',''))
bu, yerel ayarlara bağlıdır. 9 988 776,65 € Fransa 9.988.776,65 € in Almanya $ 9,988,776.65 Amerika Birleşik Devletleri'nde –
s = "123,456.908"
print float(s.replace(',', ''))
ne? Kısacası
my_string = "123,456.908"
commas_removed = my_string.replace(',', '') # remove comma separation
my_float = float(commas_removed) # turn from string to float.
:
my_float = float(my_string.replace(',', ''))
İşte senin için yazdım basit bir yoludur. Çöp filtrelenmeye olarak :)
>>> number = '123,456,789.908'.replace(',', '') # '123456789.908'
>>> float(number)
123456789.908
're' böyle bir görev için büyük bir çekiç. –
@Roman: Evet, bunu farkettim ve düzelttim. :) –
@John Doe: Şimdi daha iyi görünüyor. Tanımlayıcı dokunuşundan dolayı float (sayı) seviyorum. +1 ;-) – Aufwind
... Veya bunun yerine virgül tedavi, biz şamandıra bir lokalize biçimlendirme gibi genel dize tedavi ve yerelleştirme hizmetleri kullanabilirsiniz:
from locale import *
setlocale(LC_NUMERIC, '') # set to your default locale; for me this is
# 'English_Canada.1252'. Or you could explicitly specify a locale in which floats
# are formatted the way that you describe, if that's not how your locale works :)
atof('123,456') # 123456.0
# To demonstrate, let's explicitly try a locale in which the comma is a
# decimal point:
setlocale(LC_NUMERIC, 'French_Canada.1252')
atof('123,456') # 123.456
Şimdiye kadar çoğu pythonic ve sezgisel yol. +1 – Aufwind
Örneklerde hem ondalık hem de basamaklı gruplama karakterleri içeriyorsa, bu yanıtı üste sayardım… – martineau
Kitaplık için kötü bir betik için iyi: 'Uzatma modülleri asla setlocale() 'yi çağırmamalıdır()' – dangonfast
- 1. python deyim için python deyim python ifadesi
- 2. Python dosyası Python detay
- 3. gibi Python Python
- 4. python listesi python
- 5. Python
- 6. Python
- 7. Python
- 8. Python,
- 9. Python
- 10. Python
- 11. Python
- 12. Python
- 13. Python
- 14. Python
- 15. Python
- 16. Python
- 17. Python
- 18. Python
- 19. python
- 20. Python
- 21. Python
- 22. Python
- 23. Python
- 24. Python
- 25. Python
- 26. Python
- 27. Python
- 28. Python:
- 29. Python
- 30. Python
Bunu yapmanın en uygun yolu, 'locale' modülünü kullanmaktır - diğer her şey, gelecekte sorun çıkarmanızı sağlayacak çok kötü bir hacktir. –