2016-01-29 5 views
-1

Я хочу создать штрих-код с VBScript, который будет декодированного из э.и.м. моей компании (моя компания devides в nubers с 10000. штрих-код должен иметь этот тип взгляда: 99XXXXXXXXXQQQQQQQQPPPPP где: X мой штрих-код, Q это количество, и P цена с конкатенации у меня есть:.Получите двойную часть из строки с VBScript

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: $0,40

Теперь мой вопрос заключается в том, чтобы извлечь из строки число только, а затем умножить его на 10000, чтобы использовать его выше?

Для моего примера Я хочу Цена: Price: $0,40 для использования в качестве 04000 в штрих-коде.

+1

это строка. не может использовать 'Mid()'? –

+0

Какой код вы старались? – Lankymart

+0

Τанк вы Марк! Я не думал об этом !! –

ответ

1

Используйте Split() на $, чтобы получить числовую часть (например) "Цена: $ 0,40", иметь дело с десятичной запятой, накладка на левой:

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

Как Marc B сказал, Я пробовал это, и он работал красиво и легко :)

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