Réponses:
Que dis-tu de ça?
"1,112".delete(',').to_i
Vous pouvez également vous assurer que votre code se localise correctement ou vous assurer que les utilisateurs sont habitués à la notation «internationale». Par exemple, «1 112» signifie en fait des nombres différents selon les pays. En Allemagne, cela signifie le nombre un peu plus d'un, au lieu de mille et quelque chose.
L'article Wikipédia correspondant est disponible à l' adresse http://en.wikipedia.org/wiki/Decimal_mark . Il semble cependant mal rédigé pour le moment. Par exemple, en tant que Chinois, je ne sais pas d'où vient cette description d'environ mille séparateurs en Chine.
Certains plus pratiques
"1,1200.00".gsub(/[^0-9]/,'')
il fait fonctionner correctement "1 200 200" aussi
'1,1200.00'.gsub(/[^0-9\.]/,'').to_f
.
"1,1200.00"
à "1120000"
? Ne voulez-vous pas simplement remplacer le ,
(ou, selon les paramètres régionaux, le .
)? De plus, cela ne le convertit pas en entier ou en flottant, juste une chaîne sans délimiteurs.
Je ferais en utilisant String#tr
:
"1,112".tr(',','').to_i # => 1112
String count = count.replace(",", "");