Есть текст типа: "1/20" и "20/20", необходимо распознать 1-е число, но если оно однозначное, то в область распознавания попадает символ "/". Если выбрать распознать только цифры, то он распознает ее как "7".
В общем, как сделать чтобы при распознании исключался этот знак чтоб можно было преобразовать в int.
Да и в принципе, как можно из текстовой строки вытащить цифры?
1. ScrollLock27 - 27 Июня, 2018 - 06:43:29 - перейти к сообщению
2. Kibor - 27 Июня, 2018 - 07:12:45 - перейти к сообщению
А почему не ограничить зону поиска до /
Ну если просто обрезать, то
Ну если просто обрезать, то
Цитата:
char Text[100];
readtext (NUM | MARK, #Text[0], 8, 1, -1, -1, -1, -1, -1, 0, -1, 41, 189, 71, 205, -1);
int siz=size(#Text[0]);
for (int sn=0; sn<siz; sn++)
{
if (Text[sn]=='/')Text[sn]=0;
}
string SText=format(#Text[0]);
messagebox (SText);
readtext (NUM | MARK, #Text[0], 8, 1, -1, -1, -1, -1, -1, 0, -1, 41, 189, 71, 205, -1);
int siz=size(#Text[0]);
for (int sn=0; sn<siz; sn++)
{
if (Text[sn]=='/')Text[sn]=0;
}
string SText=format(#Text[0]);
messagebox (SText);
3. ScrollLock27 - 27 Июня, 2018 - 07:39:24 - перейти к сообщению
Kibor пишет:
А почему не ограничить зону поиска до /
Он смещается в зависимости от длины первого числа. Задаешь область 2 символа и если 1-е число однозначное (1-9), то символ / попадает в область и распознается как 7, если указать
только NUM.
Kibor пишет:
char Text[100];
readtext (NUM | MARK, #Text[0], 8, 1, -1, -1, -1, -1, -1, 0, -1, 41, 189, 71, 205, -1);
int siz=size(#Text[0]);
for (int sn=0; sn<siz; sn++)
{
if (Text[sn]=='/'Text[sn]=0;
}
string SText=format(#Text[0]);
messagebox (SText);
readtext (NUM | MARK, #Text[0], 8, 1, -1, -1, -1, -1, -1, 0, -1, 41, 189, 71, 205, -1);
int siz=size(#Text[0]);
for (int sn=0; sn<siz; sn++)
{
if (Text[sn]=='/'Text[sn]=0;
}
string SText=format(#Text[0]);
messagebox (SText);
Я так понял, он обрезает текст до "/"?
4. Kibor - 27 Июня, 2018 - 07:42:50 - перейти к сообщению
ScrollLock27 пишет:
Я так понял, он обрезает текст до "/"?
да. что собственно и надо было.
если надо 2 числа узнать, немного переделать.