文字列を double に変換する必要がありますが、文字列は常に同じ形式ではありません。ある場合は「N0」、別の場合は「#,##」、さらに別の場合は通貨「C0」です。良いことは、以前のプロセスで double から string に変換されたため、string の形式がわかっていることです。
double に戻すにはどうすればよいですか。数値のみの値 double.parse または Convert.ToDouble は簡単ですが、通貨値はそうではありません。
string format = "{0:C0}";
double dollar = 1,234.00;
string dollarString = String.Format(format, doubleValue); // == "$1,234"
double newDollar = Convert.ToDouble(dollarString); // Fails
この最後の行が問題です。IFormatProvider または Culture などを使用する必要があると想定していますが、正確にはわかりません。
「フォーマット」が常に通貨であるとは限らないため、フォーマットが通貨であると具体的に言及することはできません。
アイデア?