双字符串转换(工程格式)
本文关键字:格式 程格式 字符串 转换 | 更新日期: 2023-09-27 18:27:57
我正在寻找一种使用非常特定的字符串格式的方法:
-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来解决它吗?
如果你需要它在小数点后有5位数字,你可以这样做:
double d = -2.71405E-03;
d.ToString("0.00000E+00");
试试这个:
string MyString = d.ToString("0.#####E-00");