Dans une variable est stockée cette valeur: $10.00
Et je dois obtenir ce 10.00
J'ai essayé de convertir cette valeur en float:
new_price = '%.2f' % (price.to_f)
mais je reçois juste 0.0
.
Quel est le problème avec cela? J'ai essayé aussi
price = price.strip
price[0]=""
new_price = '%.2f' % (price.to_f)
Mais même cela ne m'a pas aidé ... où est un problème?
Merci
Vous devez d'abord supprimer le $
. Le tout comme ça:
'%.2f' % '$10.00'.delete( "$" ).to_f
ou
'%.2f' % '$10.00'[1..-1].to_f
si vous aimez la densité et pouvez rencontrer non dollars.
Pour le définir dans une variable:
current_price= '%.2f' % '$10.00'.delete( "$" ).to_f
L'erreur la plus courante est une valeur sur plusieurs milliers où il y a une virgule dans la chaîne, comme: 10.000.00. La virgule provoquera la même erreur de troncature, mais pas la décimale, et beaucoup de programmeurs ne l’accepteront même pas (nous ne la remarquons même plus). Pour résoudre ce problème:
current_price= '%.2f' % '10,000.00'.delete( "," ).to_f