0

我希望 sDbl 的值是“-0.000023”,因为它没有任何自定义格式。

Double dbl = -0.000023;              //value stored as -0.000023  
String sDbl = ConvertToString(dbl);  //sDbl has value of "-2.3E-05"  


String ConvertToString(Object value)  
{
  if(value != null)  
    return value.ToString();    
  else  
    return String.Empty  
} 
4

2 回答 2

8

您可以使用您选择的任何格式说明符Double.ToString(string)

string sDbl = dbl.ToString("R");

例如,上面使用 ( "R" )标准格式说明符(应该给出你的结果)。您还可以使用自定义格式字符串来更好地控制输出。


根据评论进行编辑:

鉴于您的评论,获取实际“输入”文本的唯一方法是将变量直接存储为字符串(而不是双精度),或解析源代码本身(可以通过Roslyn完成)。用于指定数字的“格式”不是程序编译输出的一部分。

于 2012-10-01T21:50:08.627 回答
0

如果您想从 excel 单元格中获取数据作为单元格当前格式化方式的字符串表示形式,您可以使用 Range 对象的 Text 属性而不是 Value2 属性

于 2012-10-02T08:02:51.470 回答