2015-08-30 21 views
0

我開發了一個C#windows應用程序,它將一些數據從sql server導出爲CSV文件。現在我遇到了一個超過12位數字的問題。 而不是顯示它顯示指數值的數字。將數字導出爲CSV時,它變成了指數形式

像1.4588E + 12,而不是1458795648552

我如何導出的實際值,而不是指數。

+0

你應該表現出你的代碼。在任何情況下,問題都很明顯:你是混合數字(總是相同的,直到給定的精度)與這樣一個數字的字符串表示。例如,如果你有很長的val = 1458795648552;而你做了val.ToString(),你將無法控制給定值的顯示方式(即給定時刻的默認格式)。打印/轉換爲字符串數值時,應確保給定的格式與預期完全相同。處理此問題的一種方法:https://msdn.microsoft.com/en-us/library/0c899ak8(v=vs.110).aspx – varocarbas

回答

2

考慮以下幾點:

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

etc ..