我正在尝试在VBA中创建类似str_pad
函数的函数,返回前导零值的货币值。
例如,如果我想用6位数填充它:
Input:
$ 423,67
Output:
000423
到目前为止,它可以添加那些前导零,但是当它没有小数时我无法找到实现它的方法:
Input:
$ 423,00
Current output:
000423
Desired output:
042300
由于用户通常在逗号后面不包含零,因此我的代码应该能够将它们放在输出中。
代码:
Function str_pad(text As Variant, totalLength As Integer, padCharacter As String) As String
If totalLength > Len(CStr(text)) Then
'str_pad = String(totalLength - Len(CStr(text)), padCharacter) & CStr(text)
Else
str_pad = text
End If
End Function
答案 0 :(得分:0)
如何将你的函数更改为如下所示,这将根据需要格式化数字,然后删除小数分隔符,因此数字显示为预期,我省略了totalLength,因为这将填充6位数字:
Function str_pad(text As Variant, padCharacter As String) As String
str_pad = Format(text, "0000.00")
str_pad = Replace(str_pad, ".", "")
End Function
要使用此功能,您可以使用以下公式:=str_pad(A1,0)