使用 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)[...]
我想用 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)[...]