导出到 csv 并使用 excel 打开时如何保持小数精度

How to preserve decimal precision when exporting to a csv and opened with excel

我已将值导出到 c# 中的 csv 文件。

csv 文件的每个值都有 5 个小数位,但是当使用 excel 打开时,每个值的小数位都减少到两位。

有没有办法以编程方式确保在 excel 中打开 csv 时保留小数位?

var nFI = new NumberFormatInfo();

nFI.NumberDecimalDigits = precision;
line += (CsvEscape(((decimal)dr[colName]).ToString("N", nFI)) + ",");

这是将小数导出到 csv 的方式。

您是否将格式提供程序 (NumberFormatInfo) 用于任何其他目的?如果您省略 ToString() 中的格式化参数,它应该按原样输出。

输出到 csv 文件时,要保留小数位,请将值用双引号括起来并在前缀“=”符号。 (请原谅代码,它仍然是原型形式)

line += ("=" + '"' (((decimal)dr[colName]).ToString("N",nFI).Replace(",",""))+ '"' + ",");

这输出为 ="63000.00000",