これは、toString()が現在のCultureInfoを使用するためです!doubleがコンマまたはドットで区切られているかどうかは、カルチャによって異なります。
これ も参照してください Stackoverflowの質問!
デバッグすると、reader ["Price"]がオブジェクト(type =Object {double})を返していることがわかります。ここに値は正しいですか?そうだと思いますので、次のようにしてdouble値を表示してください:
string display = double.Parse(reader["Price"], CultureInfo.InvariantCulture).ToSring(CultureInfo.CurrentCulture);
System.Diagnostics.Debug.WriteLine(display);