0

我有一个对象,CellData,等于-0.000009482102880653542

我想在将其导出为.csv文件时按原样显示。为此,我必须将对象转换为字符串。

output = CellData.ToString();
output = string.Format("{0}", CellData);

output上述两种情况导致-9.48210288065354E-06. 我希望它返回 output-0.0000094821028806535423(带小数)。

无论如何我可以让这个工作吗?

4

2 回答 2

1

如果将数字存储为小数,它将以非科学(正常)表示法输出。根据数据的来源,您可能需要从双精度转换:

double myNumber = -0.0000094821028806535423;
Object CellData = new Decimal(myNumber);

(给出 -0.00000948210288065354),或者您可以直接使用小数:

Object CellData = -0.0000094821028806535423m;

如果您从双精度数转换,结果会不太精确,因为双精度数不能准确地表示所有数字,并且您对它们执行的计算越多,它们最终可能会离精确结果越远。

如果数字来源于您的代码并且您不需要对其执行任何计算,您也可以直接将其存储为字符串。

于 2012-05-03T00:21:51.120 回答
-1

尝试不使用

output = string.Format("{0}", CellData);

只留下

output = CellData.ToString(); 
于 2012-05-03T00:20:34.463 回答