заменить буквы цифрами

Sophi
Дата: 10.01.2012 12:16:04
Дано таблица с двумя столбцами.
Слева исходные значения - надо расшифровать аббревиатуру в цифры и записать в левый столбец. Необходимо использовать update, т.к. каждый раз таблица меняется и исходники разные.
Пример:
design_emi частота
124MG7W 124000000
1M72G7W 1720000
51K2G7W 51200
51KGT8W 51000


т.е. слева направо если цифра - пишем эту цифру, если буква М проверяем что за ней, если цифра пишем цифру и колв-нулей (6 минус кол-во цифр после буквы М до след. буквы). Если после буквы М нет цифр пишем 6 нулей. И соотв. с буквой К, только 3 цифры.

Помогите реализовать.
Ukraina
Дата: 10.01.2012 12:59:16
Sophi,

А для частоты 124 051 200 Гц маркеровка выглядит так: 124M051K2....?

Ну вы уже сами весь оллгоритм написали...
Sophi
Дата: 10.01.2012 13:44:08
Ukraina, нет.
Расшифровка идет в обратную сторону.
т.е. для 124M051K2 будет 124051000
Ukraina
Дата: 10.01.2012 14:09:15
Sophi
Ukraina, нет.
Расшифровка идет в обратную сторону.
т.е. для 124M051K2 будет 124051000


Стою на асфальте в лыжи обутый,
Толи лыжи .....

А куда ты дел циферку "2"???? из 124M051K2 ????

Противоречие на противоречии... Сам говоришь, что нужно вокруг букв К и М плясать и тутже этим же игнорируешь.
Или у Вас предусмотрено, что частоты могут быть только в одном диапазоне разрядности?

Что произойдет если тебе дадут оборудование 1M72G7M?

А когда я тебе своё выложил, то я тебе не расшифровку "частота-оборудование" предлагал, а результат работы нужной тебе расшифровки, для проверки...
Sophi
Дата: 10.01.2012 14:13:38
последующие цифры после первой буквы не интересуют.
Sophi
Дата: 10.01.2012 14:15:05
нет, после второй буквы
Ukraina
Дата: 10.01.2012 14:21:29
Sophi
нет, после второй буквы


1K72M7M...???????
Sophi
Дата: 10.01.2012 14:35:59
1K72M7M = 1720
Ukraina
Дата: 10.01.2012 14:43:54
Sophi
1K72M7M = 1720


Тогда как я, будучи с трезвой руке и в твердом запое смогу увидеть/догадаться, какая буква является "второй"????

Сейчас я догнал, что К будучи "кило" и после М "мега" является "второй". Пишите развернутое ТЗ. судя по всему у вас могут быть только кило и меги... Или так и будем выпытывать из вас информацию???
Sophi
Дата: 10.01.2012 14:58:18
Ukraina,

Я не очень понимаю ваш вопрос по поводу развернутого ТЗ.

Вроде написано, что проверяем слева направо, а не справа налево.
Ок, рассмотрю подробно алгоритм проверки. Надеюсь будет понятно. )

124MG7W
Поехали:
1 - проверка цифра или буква - цифра - пишем цифру 1
2 - проверка цифра или буква - цифра - пишем цифру 2
4 - проверка цифра или буква - цифра - пишем цифру 4
M - проверка цифра или буква - буква - проверка что дальше после этой буквы - цифра или буква - буква пишем шесть нулей

получилось 124000000

следующий пример:

1M72G7W
1 - проверка цифра или буква - цифра - пишем цифру 1
M - проверка цифра или буква - буква - проверка что дальше после этой буквы - цифра или буква - цифра- пишем цифру 7 - проверка после цифры 7 что? цифра или буква- цифра 2 - пишем цифру 2 - проверка что после цифры 2 - буква - пишем нули равное (6-2), где 2-колво цифр после первой буквы
ответ: 1720000

т.о. если буква М - 6нулей (правильно мега)
K - 3 нуля (типа кило)
и есть еще H - это без приписки нулей, будут просто цифры до первой буквы