[решено] Написать число

Ответить
Аватара пользователя
tehnik_srs

[решено] Написать число

Сообщение tehnik_srs »

Добрый день!

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

Re: [решено] Написать число

Сообщение Creat0R »

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





Код:

Код: Выделить всё

$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
Аватара пользователя
Iska

Re: [решено] Написать число

Сообщение Iska »

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

Re: [решено] Написать число

Сообщение tehnik_srs »

Всем спасибо, попробую

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

Вернуться в «AutoIt»