Je dois appeler une API qui me renvoie parfois des valeurs numériques au format de chaîne, Comment puis-je faire fonctionner la fonction à la valeur correcte? Cela signifie: p> C'est mon essai. La chose est que cela me convertit aussi tous les flotteurs en entiers et je ne veux pas cela. Est-ce que quelqu'un peut me donner la main? P> merci d'avance p> p> p> "288" code> au lieu de
288 code> ou
"0,1523" Code> au lieu de
0.1513 code>. Quelques autres fois, je reçois la valeur numérique appropriée,
39 code>.
"288" code> le convertir en entier:
288 code>. LI>
"0.323" code> Convertissez-le en un flotteur:
0.323 code>. LI>
288 code> laissez-le comme il est (c'est déjà un entier déjà). LI>
0.323 code> partir tel qu'il est (c'est déjà un flotteur). Li>
ul>
3 Réponses :
Utilisez Suivant:
def convert(self, value) a=value b=float(a) if(b==int(b)):b=int(b) print(b)
def parse_value(value): try: print(type(value)) if type(value) is float: print(value) elif type(value) is int: print(value) elif type(value) is str: value = float(value) print(value) except ValueError: try: print(value) except ValueError: pass
Cela fonctionnerait-il pour vous?
def parse_value(value): f = float(value) r = f if f != int(f) else int(f) return r
Pourquoi faites-vous une distinction entre flotteur et int? Pour la plupart des usecases
float (valeur) code> suffit.