Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Честно говоря, я понятия не имею о намерениях ОП.
Если рассматривать это как общий запрос: "Как проверить, является ли содержимое переменной числовым?", то самым элегантным решением будет использование регулярного выражения.
А вот еще один, который кажется более полным (в самом конце страницы):
Честно говоря, я понятия не имею о намерениях ОП
Если рассматривать это как общий запрос: "Как проверить, является ли содержимое переменной числовым?", то наиболее элегантным решением будет использование регулярного выражения.
Спасибо всем @ whroeder1, honest_knave, Ernst Van Der Merwe, Alain Verleyen и Fernando Carreiro.
Итак:
например.
{
StringReplace(text," ",NULL);
StringReplace(text,",",NULL);
int point_cnt = 0;
for(int i=StringLen(text)-1; i>=0; i--)
{
int this_char = StringGetChar(text,i);
if(this_char == '.')
{
point_cnt++;
if(point_cnt>1) return(false);
if(StringLen(text)<2) return(false);
}
else if(this_char == '+' || this_char == '-')
{
if(i>0) return(false);
}
else if(this_char < '0' || this_char > '9') return(false);
}
return(true);
}
Если возвращается true, можно преобразовать строку в число.
Итак:
например.
{
StringReplace(text," ",NULL);
StringReplace(text,",",NULL);
int point_cnt = 0;
for(int i=StringLen(text)-1; i>=0; i--)
{
int this_char = StringGetChar(text,i);
if(this_char == '.')
{
point_cnt++;
if(point_cnt>1) return(false);
if(StringLen(text)<2) return(false);
}
else if(this_char == '+' || this_char == '-')
{
if(i>0) return(false);
}
else if(this_char < '0' || this_char > '9') return(false);
}
return(true);
}
Если возвращается true, можно преобразовать строку в число.