C# 4.0 当将数字导出到CSV时,它将变成指数形式

C# 4.0 当将数字导出到CSV时,它将变成指数形式,c#-4.0,export-to-csv,exponential,C# 4.0,Export To Csv,Exponential,我开发了一个C#windows应用程序,它将sql server中的一些数据导出为CSV文件。现在我面临着一个数字超过12位的问题。 它不是显示数字,而是显示指数值 比如1.4588E+12而不是1458795648552 如何导出实际值而不是指数值。考虑以下几点: var someDecimal = 1458795648552m; var value = String.Format("{0:N}", someDecimal); // 1,458,795,648,552.00 var value

我开发了一个C#windows应用程序,它将sql server中的一些数据导出为CSV文件。现在我面临着一个数字超过12位的问题。 它不是显示数字,而是显示指数值

比如1.4588E+12而不是1458795648552


如何导出实际值而不是指数值。

考虑以下几点:

var someDecimal = 1458795648552m;
var value = String.Format("{0:N}", someDecimal); // 1,458,795,648,552.00
var value2 = string.Format("{0:##################}", someDecimal);//1458795648552

..

您应该显示您的代码。在任何情况下,问题都很清楚:您将数字(总是相同的,直到给定的精度)与这样一个数字的字符串表示混为一谈。例如,如果您有long val=1458795648552;如果执行val.ToString(),则无法控制给定值的显示方式(即给定时刻的默认格式)。打印/转换为字符串数值时,应确保给定格式完全符合预期。解决此问题的一种方法: