使用 vbscript 从字符串中获取双部分

Get the double part from string with vbscript

我想用 vbscript 创建一个条形码,它将从我公司的 erp 中解码(我的公司使用 10000 分配数字)。 条形码应该具有这种类型的外观: 99XXXXXXXXXQQQQQQQQPPPPP 其中:X 是我的条形码,Q 是数量,P 是价格。通过连接我有:

Result = 99 & [sheet$.BARCODE] & right("00000000" & quantity*10000, 8) & right("00000" & VBScript1*10000,5)

现在VBScript1有了这个风格,因为在程序的其他地方用到了:

VBScript1 = "PRICE: "& FormatCurrency([sheet$.TIMH SAKOYLAKI]/[sheet$.SAKOYLAKI TWN]*1.3*(Round((40*CDbl(zyg))/CDbl([sheet$.GR/40 TEM]))),2)

所以 VBScript1 的输出就像 Price: [=16=],40

现在我的问题是如何从字符串中只提取数字然后乘以10000,以便在上面使用它?

对于我的示例,我希望价格:Price: [=16=],40 在条形码中用作 04000

在$上使用Split()得到(例如)"Price: [=13=],40"的数字部分,处理小数点逗号,在左边填充:

>> s = "Price: [=10=],40"
>> p = CDbl(Replace(Split(s, "$")(1), ",", "."))
>> t = Right(String(5, "0") & p * 10000, 5)
>> WScript.Echo t
>>
04000
>>

就像 Marc B 说的,我试过了,效果很好很简单:)

Result =[...]right("00000" & CDbl((Mid(VBScript1,7,7)))*10000,5)[...]