我正在寻找一种方法来使用非常具体的字符串格式:
-2.71405E-03 0.00000E+00 -2.71405E-03 -2.71405E-03 0.00000E+00 -2.71405E-03
-2.71405E-03 -2.71405E-03 -2.71405E-03 -2.71405E-03 -2.71405E-03 -2.71405E-03
-2.71405E-03 -2.71405E-03 -2.71405E-03 -5.42809E-03 -2.71405E-03 -2.71405E-03
它是UFF58文件中使用的格式。这种格式用FORTRAN格式字符串E13.5
描述,这意味着13(与C / C ++等语言不同,它也是上限)字符,5个十进制数字。
我有这段代码:
double d = -2.71405E-03;
d.ToString( "E5" ).Dump();
在LINQPad中,它提供输出:-2.71405E-003
。
我找不到NumberFormatInfo
类的任何属性,可以限制指数的大小(使用的字符数)。知道如何通过更改格式字符串或NumberFormatInfo来解决它吗?
答案 0 :(得分:3)
如果你需要它在小数点后有5位数,你可以这样做:
double d = -2.71405E-03;
d.ToString("0.00000E+00");
答案 1 :(得分:1)
试试这个:
string MyString = d.ToString("0.#####E-00");