我想要的是从片断中检索数据库中的数量并将其转换为打打。然后输入十几个并转换回碎片并再次保存到数据库。
当我输入数据时,例如。 10.3,它应该为我转换为123件((10 * 12)+ 3)。我的代码在没有“If子句”的情况下运行良好,但仅在数据为“单一”类型时才有效。当我输入整数时它出错了,所以我先添加“If ..”语句来检查它,现在输出对于Integer是正确的但输入单个数字时不正确。
我有这段代码..
Function DzToPcs(val)
'If CLng(val) = val then <-- not work
'if Fix(val) <> val then <-- work but the output was not correct when input single type number.
if Int(vInt) = vInt then <-- work but the output was not correct when input single type number.
DztoPcs = val * 12
else
strInt = Cstr(val)
a = Split(strInt,".")
dz = a(0)
pcs = a(1)
getdz = Cint(dz)
getpcs = Cint(pcs)
DztoPcs = (getdz * 12) + getpcs
end if
答案 0 :(得分:1)
我不确定你的if
语句有什么问题(我的VBScript有点生疏),但你可以试试这个替代方案:
Function DzToPcs(val)
strInt = Cstr(val)
a = Split(strInt,".")
dz = a(0)
if UBound(a) > 0 then
pcs = a(1)
getdz = Cint(dz)
getpcs = Cint(pcs)
DztoPcs = (getdz * 12) + getpcs
else
DztoPcs = dz * 12
end if
end function