我有一个对象CellData
,等于-0.000009482102880653542
。
我希望在将其导出为.csv
文件时按原样显示。为此,我必须将对象转换为字符串。
output = CellData.ToString();
output = string.Format("{0}", CellData);
以上两种情况导致output
为-9.48210288065354E-06
。我希望将output
作为-0.0000094821028806535423
(带小数)返回。
无论如何我能让这个工作吗?
答案 0 :(得分:1)
如果您将数字存储为十进制,它将以非科学(正常)表示法输出。根据数据的来源,您可能需要转换为double:
double myNumber = -0.0000094821028806535423;
Object CellData = new Decimal(myNumber);
(给出-0.00000948210288065354),或者你可以直接使用十进制:
Object CellData = -0.0000094821028806535423m;
如果你从double转换为double,则结果不太精确,因为double不能准确表示所有数字,并且你对它们执行的计算越多,它们可能会从精确结果中得到进一步的结果。
如果数字来自您的代码而您不需要对其执行任何计算,您也可以直接将其存储为字符串。
答案 1 :(得分:-1)
尝试不使用
output = string.Format("{0}", CellData);
只留下
output = CellData.ToString();