Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Преобразование текст в число / 9 сообщений из 9, страница 1 из 1
16.07.2013, 04:28
    #38332133
tweaker7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
Здравствуйте, как можно преобразовать текст в число? К примеру есть текст: двадцать пять - его нужно преобразовать в 25
...
Рейтинг: 0 / 0
16.07.2013, 07:17
    #38332153
JustCrazy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
tweaker7Здравствуйте, как можно преобразовать текст в число? К примеру есть текст: двадцать пять - его нужно преобразовать в 25
не самый лучший вариант, но вариант, потратить немного времени и сделать два массива типа
Код: php
1.
2.
array('один','два','..');
array('1','2','..');


а потом их через str_replace :)
это конечно, если числа написаны грамматически правильно.
...
Рейтинг: 0 / 0
16.07.2013, 08:07
    #38332171
tweaker7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
JustCrazytweaker7Здравствуйте, как можно преобразовать текст в число? К примеру есть текст: двадцать пять - его нужно преобразовать в 25
не самый лучший вариант, но вариант, потратить немного времени и сделать два массива типа
Код: php
1.
2.
array('один','два','..');
array('1','2','..');


а потом их через str_replace :)
это конечно, если числа написаны грамматически правильно.

Так не пойдет если текст будет: двадцать пять str_replace заменить на 20 5, а нужно 25, при этом это нужно сделать в тексте.
...
Рейтинг: 0 / 0
16.07.2013, 08:13
    #38332176
JustCrazy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
tweaker7Так не пойдет если текст будет: двадцать пять str_replace заменить на 20 5, а нужно 25, при этом это нужно сделать в тексте.
а кто вам мешает воспользоваться регуляркой и убрать все пробелы ?
...
Рейтинг: 0 / 0
16.07.2013, 08:31
    #38332184
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
tweaker7,

принцип такой:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
function strToNum($s) {
    $dict = array(
        'ноль'=>0
        ,'один'=>1,'два'=>2
        ,'одна'=>1,'две'=>2
        ,'три'=>3,'четыре'=>4,'пять'=>5,'шесть'=>6,'семь'=>7, 'восемь'=>8,'девять'=>9
        ,'десять'=>10,'одиннадцать'=>11,'двенадцать'=>12,'тринадцать'=>13,'четырнадцать'=>14
        ,'пятнадцать'=>15,'шестнадцать'=>16,'семнадцать'=>17,'восемнадцать'=>18,'девятнадцать'=>19
        ,'двадцать'=>20,'тридцать'=>30,'сорок'=>40,'пятьдесят'=>50,'шестьдесят'=>60,'семьдесят'=>70,'восемьдесят'=>80,'девяносто'=>90
        ,'сто'=>100,'двести'=>200,'триста'=>300,'четыреста'=>400,'пятьсот'=>500,'шестьсот'=>600,'семьсот'=>700,'восемьсот'=>800,'девятьсот'=>900
    );
    $units = array(
        'тысяч'   =>1000,
        'миллион' =>1000000,
        'миллиард'=>1000000000,
    );
    //
    $a = explode(' ', trim(preg_replace('/\s{2,}/',' ', $s )));
    $io = $i3 = 0;
    foreach($a as $k=>$v) {
        if (isset($dict[$v])) { // digit
            $i3 += (int)$dict[$v];
        }
        else {
            foreach($units as $uk=>$uv) {
                if (strpos($v,$uk)!==false) { // unit found!
                    $io += $i3*$uv;
                    $i3=0;
                    break;
                }
            }//foreach
        }
    }//foreach
    $io += $i3;
    return join(' ',str_split($io,3)); // or RETURN $io;
}
//
$s = 'пятьсот   девяносто три миллиарда сто   одиннадцать миллионов девять тысяч тридцать пять';
echo $s.'
';
echo strToNum($s); // 593 111 009 035

...
Рейтинг: 0 / 0
17.07.2013, 09:04
    #38333631
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
Здравствуйте, у кого есть скрипт который преобразует число в текст.
Можете приложить?
...
Рейтинг: 0 / 0
17.07.2013, 11:29
    #38333815
JustCrazy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
SoRaЗдравствуйте, у кого есть скрипт который преобразует число в текст.
Можете приложить?
а чем Вам скрипт "r u" не нравится ? потрудиться потратить пару минут чтобы поменять позиции цифр и букв не так сложно
...
Рейтинг: 0 / 0
17.07.2013, 11:33
    #38333823
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
SoRaЗдравствуйте, у кого есть скрипт который преобразует число в текст.
Можете приложить?
тыц
...
Рейтинг: 0 / 0
19.07.2013, 12:44
    #38336768
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текст в число
JustCrazyа чем Вам скрипт "r u" не нравится ? потрудиться потратить пару минут чтобы поменять позиции цифр и букв не так сложно умник, не твоё вонючее дело.

r u тыц Спасибо большое, за ссылку!!!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Преобразование текст в число / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]