J'ai besoin de convertir une chaîne en un flotteur. Ceux-ci sont par exemple chaîne est ma:Conversion de chaîne à flotteur C#
1 MW 00000,00 mm
2 MW 0000,000 mm
3 MW -00000,01 mm
4 MW 00000,00 mm
5 MW 00002,92 mm
6 MW 00002,69 mm
Et voici ce que je fais:
text = text.Substring(pos + 5, 9).Trim();
float val = 0.0F;
float.TryParse(texto, out val);
this.txtDimension1.Text = val.ToString();
d'accord, cela fonctionne pour mon environnement, qui est en_US, mais quand je lance ce même morceau de code dans un environnement espagnol, il convertit -00000.01 à -1.0
Je pense que c'est un problème de virgule, en chiffres anglais sont séparés par un point (".") et en espagnol, ils sont séparés par une virgule (",").
Comment puis-je faire ce travail sur les deux langs?
Merci, Richard.
Voici un autre article sur la façon dont vous le faites. http://stackoverflow.com/questions/3059587/c-float-to-string-conversion-decimal-separator-problem –
okay j'ai une question ici ... si je passe le CultureInfo pour disons, l'anglais, sera-ce être "." en anglais et "," en espagnol? merci – richardalberto
@Richard. Peut-être que je ne comprends pas la question. Les chaînes * input * sont-elles formatées différemment selon la culture? – PaulG