Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Написать число

Ответить
Настройки темы
[решено] Написать число

Аватара для tehnik_srs

Пользователь


Сообщения: 143
Благодарности: 20


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый день!
Есть ли возможность в AutoIT "написать" числовое значение. Например, если $i = 121, то в $a должно занести 'Сто двадцать один'?

Отправлено: 14:34, 18-10-2011

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Примерно так (пока только до ста):

Код: Выделить весь код
$sText = _NumToText(21)
ConsoleWrite($sText & @LF)

Func _NumToText($iNum)
    $sBasic = StringSplit("Один|Два|Три|Четыре|Пять|Шесть|Семь|Восемь|Девять", "|")
    $s10To20 = StringSplit("Одинадцать|Двенадцать|Тринадцать|Четырнадцать|Пятнадцать|Шестнадцать|Семнадцать|Восемнадцать|Девятнадцать", "|")
    $sTens = StringSplit("Десять|Двадцать|Тридцать|Сорок|Пятьдесят|Шестьдесят|Семьдесят|Восемьдесят|Девяносто", "|")
    $sHundreds = StringSplit("Сто|Двести|Триста|Четыреста|Пятьсот|Шестьсот|Семьсот|Восемьсот|Девятьсот", "|")
    $sTousends = StringSplit("Тысяча|Тысячи|Тысяч", "|")

    For $i = 1 To $sHundreds[0]
        $iNum = StringRegExpReplace($iNum, "^" & $i & "00$", $sHundreds[$i])
    Next

    For $i = 11 To 19
        $iNum = StringRegExpReplace($iNum, "^" & $i & "$", $s10To20[$i-10])
    Next

    For $i = 1 To $sTens[0]
        $iNum = StringRegExpReplace($iNum, "^" & $i & "0$", $sTens[$i])
    Next

    For $i = 1 To $sTens[0]
        $iNum = StringRegExpReplace($iNum, String($i) & "([1-9])", $sTens[$i] & " \1")
    Next

    For $i = 1 To $sBasic[0]
        $iNum = StringReplace($iNum, String($i), $sBasic[$i])
    Next

    Return $iNum
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 18:44, 18-10-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


2All: думаю, можно взять одну из многочисленных реализаций «ЧислоПрописью()» с конкурсов дополнений к Microsoft Office: "Microsoft Office" Extensions число|сумма прописью - Поиск в Google и перевести на AutoIt.

Отправлено: 19:52, 18-10-2011 | #3


Аватара для tehnik_srs

Пользователь


Сообщения: 143
Благодарности: 20

Профиль | Отправить PM | Цитировать


Всем спасибо, попробую
Переделал немного, все работает, спс еще раз.

Последний раз редактировалось tehnik_srs, 25-10-2011 в 17:07. Причина: Проверил


Отправлено: 09:41, 19-10-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Написать число

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Число процессоров baa123 Microsoft Windows 7 24 21-11-2017 07:48
Число прописью 1.61 OSZone Software Новости программного обеспечения 0 13-10-2011 17:30
C/C++ - [решено] Просто число Hardcore Программирование и базы данных 11 12-10-2010 18:28
[решено] число соединений baset Microsoft Windows 2000/XP 3 17-06-2006 13:15
Превышено число подключений Andruxxxa Сетевые технологии 4 16-03-2005 20:26




 
Переход