我需要将双打写入 wpf mvvm 应用程序中的 csv 文件。这些双打最初是设置在不变文化中的字符串。我像这样从服务器端应用程序接收它们并解析它们
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 中打开它时,它包含用“。”分隔的十进制值。代替 ”,”。这样,我的 excel 不会将这些值视为十进制值,因为它们不在 excel 数字文化/我的 Windows 设置文化中。
有谁知道发生了什么?
编辑
只是要清楚。我不是在寻找一种方法来设置硬编码的文化。我特别需要在 windows 中设置的文化,excel 使用的文化。