1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
public void ConvertString2Double(string text, out double result)
{
string separator = ",";
text = Regex.Replace(text, @"[\s]+", ""); // Supprime tous les espaces
Match m = Regex.Match(text, "(?<separator>)[^0-9]+[0-9]*$"); // Cherche la dernière suite de caractère non numérique de la chaine
if(m != null && m.Success)
separator = m.Groups["separator"].Value; // S'en sert comme séparateur
// Créer un formateur de nombre avec ce séparateur
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.CurrencyDecimalSeparator = separator;
nfi.NumberDecimalSeparator = separator;
nfi.PercentDecimalSeparator = separator;
// Tente de convertir le nombre avec ce format
double.TryParse(Text, NumberStyles.Any, nfi, out result);
} |
Partager