C# 科学符号

C# 科学符号,c#,numbers,C#,Numbers,我在一个文件中写数字,它们应该是这样的: 5.22226E+00 -2.31833E-01 -9.28221E-01 5.23851E+00 -2.33228E-01 -9.33804E-01 5.25481E+00 -2.34622E-01 -9.39387E-01 5.27116E+00 -2.36016E-01 -9.44969E-01 5.28756E+00 3.65029E-01 9.14477E-01 5.30401E+00 3.66841E-01 9.19

我在一个文件中写数字,它们应该是这样的:

  5.22226E+00 -2.31833E-01 -9.28221E-01  5.23851E+00 -2.33228E-01 -9.33804E-01
  5.25481E+00 -2.34622E-01 -9.39387E-01  5.27116E+00 -2.36016E-01 -9.44969E-01
  5.28756E+00  3.65029E-01  9.14477E-01  5.30401E+00  3.66841E-01  9.19016E-01
  5.32051E+00  3.68653E-01  9.23556E-01  5.33707E+00  3.70464E-01  9.28095E-01
  5.35367E+00  3.72276E-01  9.32634E-01  5.37033E+00  3.74088E-01  9.37174E-01
相反,它们是:

  5.22226E+00 -2.31833E-01 -9.28221E-01  5.23851E+00 -2.33228E-01 -9.33804E-01
  5.25481E+00 -2.34622E-01 -9.39387E-01  5.27116E+00 -2.36016E-01 -9.44969E-01
  5.28756E+00 3.65029E-01 9.14477E-01  5.30401E+00 3.66841E-01 9.19016E-01
  5.32051E+00 3.68653E-01 9.23556E-01  5.33707E+00 3.70464E-01 9.28095E-01
  5.35367E+00 3.72276E-01 9.32634E-01  5.37033E+00 3.74088E-01 9.37174E-01
区别在于,当符号为“+”时,我没有插入空格。我怎么能这么做

我使用的代码是

myNumber.ToString("0.00000E+00", CultureInfo.InvariantCulture);

PadLeft
应该能很好地完成这项任务:

myNumber.ToString("0.00000E+00", CultureInfo.InvariantCulture).PadLeft(12);

PadLeft
应该能很好地完成这项任务:

myNumber.ToString("0.00000E+00", CultureInfo.InvariantCulture).PadLeft(12);

最好的方法是使用:

另一种(更详细的)方法:

string s = myNumber.ToString("0.00000E+00", CultureInfo.InvariantCulture);
if (myNumber >= 0)
    s = " " + s;

最好的方法是使用:

另一种(更详细的)方法:

string s = myNumber.ToString("0.00000E+00", CultureInfo.InvariantCulture);
if (myNumber >= 0)
    s = " " + s;
如您所见,分号根据正数设置格式,然后是负数

myNumber.ToString(" 0.00000E+00;-0.00000E+00", CultureInfo.InvariantCulture);
如果需要,您还可以强制显示
+
,或者更改
-
符号的显示方式。

正如您所见,分号根据正数设置格式,然后是负数

myNumber.ToString(" 0.00000E+00;-0.00000E+00", CultureInfo.InvariantCulture);

如果需要,您还可以强制显示
+
,或者更改
-
符号的显示方式。

Super!那东西可以帮我省几个小时。实际上,要写这个文件,如果数字或字符串没有填满设计的空间,我需要插入很多空格。我想用条件句来表达…@Sturm对不起,我不知道你在第二部分说什么。但没问题!这确实很有帮助,解决了这个问题,甚至更多。但我认为@Pierre Luc Pineault为这个问题提供了具体的答案。太棒了!那东西可以帮我省几个小时。实际上,要写这个文件,如果数字或字符串没有填满设计的空间,我需要插入很多空格。我想用条件句来表达…@Sturm对不起,我不知道你在第二部分说什么。但没问题!这确实很有帮助,解决了这个问题,甚至更多。但我认为@Pierre Luc Pineault为这个问题提供了具体的答案。我更喜欢它而不是
PadLeft(12)
方法,因为如果格式字符串被更改,它不太容易被破坏。如果格式字符串被更改,填充肯定会被更改,所以这不是一个真正的因素。当然,除非进行更改的开发人员错误计算了所需的新空格数。我更喜欢它而不是
PadLeft(12)
方法,因为如果格式字符串被更改,它不太容易被破坏。如果格式字符串被更改,则填充肯定会被更改,因此这不是一个真正的因素。当然,除非进行更改的开发人员错误计算了新的所需空间数。