Πώς μπορώ να αναλύσω μια συμβολοσειρά σε float ή int;

Στην 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
Σχόλια (7)

Οι χρήστες codelogic και harley είναι σωστοί, αλλά να έχετε υπόψη σας ότι αν γνωρίζετε ότι η συμβολοσειρά είναι ακέραιος (για παράδειγμα, 545) μπορείτε να καλέσετε την int("545") χωρίς πρώτα να την μετατρέψετε σε float.

Εάν οι συμβολοσειρές σας είναι σε μια λίστα, μπορείτε επίσης να χρησιμοποιήσετε τη συνάρτηση map.

>>> x = ["545.0", "545.6", "999.2"]
>>> map(float, x)
[545.0, 545.60000000000002, 999.20000000000005]
>>>

Είναι καλό μόνο αν είναι όλες ίδιου τύπου.

Σχόλια (1)

float("545.2222") και int(float("545.2222"))

Σχόλια (1)