导出到 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",
我已将值导出到 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",