【问题标题】:Format String with fixed length with leading spaces带前导空格的固定长度格式化字符串
【发布时间】:2017-04-30 20:47:02
【问题描述】:

我需要将字符串格式化为固定长度。 我尝试从msdn使用这个格式函数

Dim i as Decimal
i = 123,12
MsgBox(Format(i,"######.##"))

输出 123.12

但我想要的输出是前导空格。 (下划线应该是空格字符)

输出___123.12

【问题讨论】:

    标签: vb6 formatting format number-formatting


    【解决方案1】:

    string s = "这里有字符串";

    string line1 = String.Format("{0,27}", s);

    字符串 line2 = String.Format("{0,-27}", String.Format("{0," + ((27 + s.Length) / 2).ToString() + "}", s ));

    string line3 = String.Format("{0,-27}", s);

    【讨论】:

    • 这不是vb6代码,还是? {0,27} 因为格式定义不起作用/返回的字符串是“{0,27}”,而不是格式化的输入,如果我尝试使用它的话。
    【解决方案2】:

    你试过 Rset 命令吗?

    x = (格式$(123.5, "$##0.00"))

    打印 "x" & x & "x"

    RSet x = (Format$(1.5, "$##0.00"))

    打印 "x" & x & "x"

    输出:

    x$123.50x

    x $1.50x

    【讨论】:

    • Dim test As String RSet test = Format(123.45, "$#####0.00") output = $123.45 - 没有空格。
    【解决方案3】:

    像这样在格式语法中添加空格,它会起作用。

    Format(12.323, "  ##.##")
    

    【讨论】:

    • 好吧,这很容易得到:D。谢谢,工作正常。
    【解决方案4】:

    在Format 到来之前,典型的做法是:

    Result$ = Right$(Space$(9) & Incoming$, 9)
    

    ...您可以通过将“9”替换为变量来概括。

    这也适用于前导零,使用String$("0", n) 而不是Space$(n)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      • 2012-11-08
      • 2012-01-06
      • 2013-05-12
      • 2018-01-28
      • 1970-01-01
      相关资源
      最近更新 更多