代码之家  ›  专栏  ›  技术社区  ›  Tuberose

字符串数字格式,带“/”表示千位分隔符

  •  1
  • Tuberose  · 技术社区  · 6 年前

    这个 sValA 变量

    例如 sValA = 23224560 .

    我需要以下格式:

    23/224/560

    (分配 / 字符为 千分位分隔符 .)

    我的尝试:

    这个 Format(23224560, "#,##0") 返回值: 23,224,560

    但是 Format(23224560, "#/##0") 返回值: 23224/560 ! (需要)

    1 回复  |  直到 6 年前
        1
  •  1
  •   ThunderFrame    6 年前

    除了 系统识别的数字格式 -千位分隔符似乎是逗号。要使用系统的千位分隔符以外的任何内容,可以通过重复以下模式来实现所需的结果:

    ?Format(23224560, "###/###/##0")
    23/224/560
    

    当然,只有当您的号码至少为7位,最多为9位时,这才有效。你可以使用 Select 块进行格式化:

    Dim sValA As String
    sValA = 23224560
    
    Dim result As String
    
    Select Case Len(sValA)
      Case 1 To 3
          result = Format$(sValA, "##0")
      Case 4 To 6
          result = Format$(sValA, "###/##0")
      Case 7 To 9
          result = Format$(sValA, "###/###/##0")
      'Case...
    End Select
    

    PS-你最好 Format$ 返回 String ,而不是 Format 返回一个 Variant (String) .