Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在没有负号的情况下,如何用string.Format()填充数字?_C# - Fatal编程技术网

C# 在没有负号的情况下,如何用string.Format()填充数字?

C# 在没有负号的情况下,如何用string.Format()填充数字?,c#,C#,我正在重写matrix类的ToString()方法,这样我就可以将监视窗口中的内容复制到文本编辑器中,以执行进一步的分析 其思想是ToString()应该返回如下内容: [M11:-1.00 M12: 0.00 M13: 0.00 M14: 0.00] [M21: 0.00 M22: 0.00 M23:-1.00 M24: 0.00] [M31: 0.00 M32:-1.00 M33: 0.00 M34: 0.00] [M41: 0.00 M42: 0.00 M43: 0.00 M44: 1.0

我正在重写matrix类的
ToString()
方法,这样我就可以将监视窗口中的内容复制到文本编辑器中,以执行进一步的分析

其思想是
ToString()
应该返回如下内容:

[M11:-1.00 M12: 0.00 M13: 0.00 M14: 0.00]
[M21: 0.00 M22: 0.00 M23:-1.00 M24: 0.00]
[M31: 0.00 M32:-1.00 M33: 0.00 M34: 0.00]
[M41: 0.00 M42: 0.00 M43: 0.00 M44: 1.00]
请注意,正数有一个额外的填充空间来补偿负号占用的空间

目前,我正在这样做:

    public override string ToString()
    {
        return string.Format("[M11:{0:0.00} M12:{1:0.00} M13:{2:0.00} M14:{3:0.00}]\n[M21:{4:0.00} M22:{5:0.00} M23:{6:0.00} M24:{7:0.00}]\n[M31:{8:0.00} M32:{9:0.00} M33:{10:0.00} M34:{11:0.00}]\n[M41:{12:0.00} M42:{13:0.00} M43:{14:0.00} M44:{15:0.00}]",
            M11, M12, M13, M14, M21, M22, M23, M24, M31, M32, M33, M34, M41, M42, M43, M44);
    }
这将产生以下结果:

[M11:-1.00 M12:0.00 M13:0.00 M14:0.00]
[M21:0.00 M22:0.00 M23:-1.00 M24:0.00]
[M31:0.00 M32:-1.00 M33:0.00 M34:0.00]
[M41:0.00 M42:0.00 M43:0.00 M44:1.00]
我想为正数添加填充空格,这样它们就可以很好地排列起来,从而使调试任务更容易

不幸的是,对于登录
string.Format()

我想我可以在每个元素上使用
.ToString()
,使用
Pad()
,然后将它们全部组装起来,但我仍然认为可能有一种方法可以实现这一点,而不必手动组装数字,同时也不会产生大量垃圾


是否可以在
ToString()中执行此操作?或者我需要手动填充每个数字,以便句点对齐。

您可以使用类似以下格式:

    [M11:{0: 0.00;-0.00} M12:{0: 0.00;-0.00}...

请查看您链接的MSDN文章中标题部分。

这确实是正确的。我必须承认,我在寻找类似“符号占位符”的东西,因此跳过了“部分分隔符”部分,因为它的名称没有暗示这将有助于目前解决我的问题。