Στην Python, πώς μπορώ να αναλύσω μια αριθμητική συμβολοσειρά όπως "545.2222"
στην αντίστοιχη τιμή float, 545.2222
; Ή να αναλύσω τη συμβολοσειρά "31"
σε έναν ακέραιο αριθμό, 31
;
Θέλω απλώς να ξέρω πώς να αναλύσω ένα float str
σε ένα float
, και (ξεχωριστά) ένα int str
σε ένα int
.
>>> a = "545.2222"
>>> float(a)
545.22220000000004
>>> int(float(a))
545
Οι χρήστες codelogic και harley είναι σωστοί, αλλά να έχετε υπόψη σας ότι αν γνωρίζετε ότι η συμβολοσειρά είναι ακέραιος (για παράδειγμα, 545) μπορείτε να καλέσετε την int("545") χωρίς πρώτα να την μετατρέψετε σε float.
Εάν οι συμβολοσειρές σας είναι σε μια λίστα, μπορείτε επίσης να χρησιμοποιήσετε τη συνάρτηση map.
>>> x = ["545.0", "545.6", "999.2"]
>>> map(float, x)
[545.0, 545.60000000000002, 999.20000000000005]
>>>
Είναι καλό μόνο αν είναι όλες ίδιου τύπου.