我需要一起创建一个各种变量的字符串,我需要用前导零填充它,如果小数点后的值为零,我还需要保留小数点。如果变量只是零,那么我想完全抑制它并用空格填充
例如:
如果我在变量中得到 0 并且它的大小是 3,我希望字符串是:“” 如果我在变量中得到 9 并且它的大小是 3,那么我想要字符串:“009”如果我在变量中得到 90.0 它是大小是 10,然后我想要字符串:“00000090.0”
我正在尝试使用:
public function PadField(byval field as object, byval size as int16) as string
dim fieldstring as string = string.empty
dim fieldDate as date
' here I want to check for a numeric variable
if isnumeric(field) then
' if the variable is an integer with a value of zero...
if cint(field) = 0 then
stringField = string.empty.padleft(size,"0")
' else if the variable is an integer greater than zero...
elseif cint(field) > 0 then
stringField = field.toString.padLeft(size,"0")
End If
' else if a date, I want date to look like MM/dd/yyyy...
elseif IsDate(field) then
fieldDate = field
strigField = fieldDate.ToString("MM/dd/yyyy")
' else if a string, then I want to pad after with spaces
else
stringField = field.ToString.Trim.toUpper.PadRight(size," ")
End If
return stringField
end Function
问题是当我传入一个像 1234.0 这样的变量时,我得到以下结果:
"0001234"
但我想要:
"0001234.0"
如果我发送 1234.1,那么它可以工作,如果我发送 1,我会得到“0001234.1”,如果我发送 90,我想得到“001”,如果我发送日期,我想得到“090”,我想要如果我发送一个字符串来获得“08/21/2012”,我想获得“NAME”
当小数为零时,任何人都可以帮助如何保留小数吗?