Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 24.09.2009, 11:55   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Проверка: является ли строка числом?

Требуется сабжевая фунЕция:
необходимо проверить - можно ли содержащийся в переданном указателе на начало нуль-терминированной строки текст интерпретировать как число, в соответствии со всякими там RFC. Не хочу изобретать велик. Но если грамотных реализаций нет - то могу и обойтись)

РЕШЕНИЕ СМОТРИ В КОНЦЕ ТЕМЫ
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?

Последний раз редактировалось SBJoker, 09.11.2010 в 13:33.
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 12:10   #2
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Проверка: является ли строка числом?

Эм, спроси у MSDN про isdigit. Там правда для отдельного символа, но допилить для прверки строки уже дело техники.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (24.09.2009)
Старый 24.09.2009, 12:23   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Проверка: является ли строка числом?

Определяет, является ли самый левый символ заданного символьного выражения цифрой (от 0 до 9).
Это шняга какая-то =(
Мне надо, чтобы он корректно реагировал на числа типа:
-12.7е-984
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 12:38   #4
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Проверка: является ли строка числом?

Ну фиг знает, это не пойдет http://www.boost.org/doc/libs/1_40_0...xical_cast.htm? Вообще можно в бусте покопаться, там много всякой фигни.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (24.09.2009)
Старый 24.09.2009, 12:42   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Проверка: является ли строка числом?

Ну, я думаю, всё же пригодится
Основа-то - проверка символов:
- на +/-
- на цифры
- на Е или е
Ну и допилить порядок проверки
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 13:15   #6
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Проверка: является ли строка числом?

- на +/-
- на цифры
- на Е или е
-на места вхождения знака
-на кол-во вхождений знаков
-на плавающую точку
-на место ПТ
-на количество вхождений ПТ
-на корректность диапазона показателя
-на корректность диапазона мантиссы
+куча стаффа оговорённого стандартами текстового представления дробных чисел.
Ну и финал:
Не хочу изобретать велик. Но если грамотных реализаций нет - то могу и обойтись)
Т.к. реализовал уже разборку подобных вещей, когда писал класс для работы с большими числами (но там я был законодателем стандартов, превосходящих привычные числа)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 13:19   #7
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Проверка: является ли строка числом?

Ну тебе скорее писать велосипед придется, если задача не типичная (не тупо взять строку с числом и перегнать в int или float).
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 14:21   #8
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Проверка: является ли строка числом?

atoi, strtol, strtod .etc не подходит? ну или другие СТЛ функции для перевода в числа строк, вроде есть там для перевода с плавающей точкой
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 14:43   #9
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Проверка: является ли строка числом?

Мне не перевести надо, а чекнуть валидность.
Можно конечно проверить результат конверта, и если он =0, а число не ноль, то фолс.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 14:47   #10
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Проверка: является ли строка числом?

Не получится. Они конвертят до тех пор пока не встретит левый символ (типично если строка - валидное число это нулевой байт означающий конец строки).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (24.09.2009)
Старый 24.09.2009, 15:01   #11
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Проверка: является ли строка числом?

А что конвертнуть строку в число, а потом проверить получилось ли число в результате, если получилось то строка может быть преобразована в число! По моему логично. А вообще это какой то маразм неиметь подобных функций "из коробки". Все современные языки располагают такими типичнейшими возможностями без добавок сторонних длл или модулей.

Ктоме того парсить числа нужно на основе текущей локали пользователя, ибо форматирование чисел может значительно отличаться от локали к локали. Начиная от разделителя дробной части и заканчивая правилами форматирования отрицательных чисел и дробных чисел.

З.Ы. в VB 6.0 - isNumeric("ололо")
в С# - float.TryParse("15445.1")
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
impersonalis (24.09.2009), Phantom (24.09.2009)
Старый 24.09.2009, 15:27   #12
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Проверка: является ли строка числом?

проверить получилось ли число в результате
вот как это сделать?
"12БЛДЖАД!" - превратитцо в "12"
которое число
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 17:38   #13
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Проверка: является ли строка числом?

Ну если важно определить до единого ли символа строка число, то имеет смысл обратная конверсия и сравнение либо длин либо побайтово.
__________________
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 20:45   #14
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Проверка: является ли строка числом?

В PHP есть функция is_numeric(), которая проверяет, является ли строка числом. Точнее находится ли в строке число. Короче, вот пример:
<?php

$str='123.345E-12';

if(is_numeric($str)) echo 'OK';

?>
Выведет OK. Осталось выдрать функцию из исходников PHP =)
(Offline)
 
Ответить с цитированием
Старый 24.09.2009, 21:07   #15
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Проверка: является ли строка числом?

угу в АкшнСкрипт тоже !!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
строка>массив Spy4433 2D-программирование 3 24.12.2009 04:28
Строка ввода is.SarCasm Blitz3D 0 15.10.2009 19:54
цветная строка BaD RaNDoM 2D-программирование 12 20.01.2009 02:23
Парадоксальная строка Romanzes JAVA Micro Edition 2 29.11.2008 09:49
Строка в правилах... moka Юмор 2 30.07.2007 21:26


Часовой пояс GMT +4, время: 17:38.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com