Python'da bir dizeyi ikiye nasıl dönüştürebilirim?


Yanıtlar:


317
>>> x = "2342.34"
>>> float(x)
2342.3400000000001

İşte böyle. Şamandıra kullanın (C, C ++ veya Java çiftiyle aynı hassasiyete sahiptir ve aynı hassasiyete sahiptir).


38
Veya daha spesifik olarak, Python şamandıraları C çiftleridir.
habnabit

1
Bah çift yerine şamandıra kullandı. kodum acıyor .0000000001 şimdi kapalı
Evorlor

2
bu arada, üs notasyonu ile de çalışır. örneğin: float('7.5606e-08')beklenen python şamandırasını üretir.
drevicko

2
Benim ben atamak piton (sürüm 2.7.10) ile >>> x = "2342.34" yüzer ve dönüştürmek >>> float(x) ben olsun 2342.34yerine 2342.3400000000001@Mongoose tarafından rapor
Bruce_Warrior

>>> 0.1 + 0.2Çift için kullanın . >>> 0.1 + 0.6şamandıra için.
user1510539

50

Ondalık işleç, aradığınız şeyle daha uyumlu olabilir:

>>> from decimal import Decimal
>>> x = "234243.434"
>>> print Decimal(x)
234243.434

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.