wpf mvvm アプリケーションで csv ファイルに double を書き込む必要があります。これらの double は、元々はインバリアント カルチャで設定された文字列です。サーバー側のアプリケーションからそのように受け取り、それらを解析します
bool result = double.TryParse(row[0], NumberStyles.Any, CultureInfo.InvariantCulture, out value);
ただし、それらをcsvファイルに書き込もうとすると(、、、またはのいずれかで"" + value
)、value.ToString()
現在のカルチャはEN-USのようですが、NL(オランダ語)である必要があります。ブラウザの設定、Windows の設定、キーボードの設定などはすべてオランダ語に設定されているため、地域番号の設定を確認すると、小数点記号「,」が含まれていますが、アプリケーションでは小数点記号が「.」で区切られています。カルチャは EN-US であるためです。value.ToString(CultureInfo.CurrentCulture)
value.ToString(System.Globalization.CultureInfo.CurrentCulture)
したがって、csv ファイルを作成して Excel で開くと、「。」で区切られた 10 進数値が含まれています。それ以外の "、"。このように、Excel はこれらの値を 10 進値として認識しません。これらの値は、Excel の数値カルチャ/Windows 設定カルチャに含まれていないためです。
誰が何が起こっているのか知っていますか?
編集
ただ明確にします。ハードコードされた文化を設定する方法を探しているわけではありません。特に、Excel が使用する Windows に設定されたカルチャが必要です。