これは、文化が 10 進数を指定する方法に関係しています。英語 (および .net のインバリアント カルチャ) では、小数点記号はドット文字 "." ですが、フランス語 (およびほとんどのヨーロッパのカルチャ) では、コンマ "," が小数点記号です。
using System.Globalization;
...
decimal d = Convert.ToDecimal("0.000001",CultureInfo.InvariantCulture);
//outputs 0.000001
Console.WriteLine(d);
CultureInfo french = new CultureInfo("fr");
d = Convert.ToDecimal("0,000001",french);
//outputs 0.000001
Console.WriteLine(d);
d = Convert.ToDecimal("0.000001",french);
//Throws an "Input string was not in a correct format" exception
//because a . is not a valid character in a decimal, according to french culture
UI を介してユーザーから値を取得する場合、ユーザーがデータを入力しているカルチャに特に注意する必要があります。千。