здесь вы можете узнать, как определить, является ли строка числовой, на 70 языках!
Я не уверен, что все решения проверяют одно и то же.Реализация C ++ проверяет, является ли входное положительное / отрицательное целое число / число с плавающей запятой для основания 10, или если это a положительное / отрицательное целое число для основания 8/16. Это то, что вы хотите?Вам нужно поддерживать только положительные числа?Вам нужно поддерживать числа с плавающей запятой?
Возможно, вам потребуется преобразовать входные строки в числовое значение, поэтому нет причин делать это в два этапа (проверить, затем преобразовать).Лучше сделать это за один шаг.
Еще одна вещь: если строка ввода слишком длинная, например "32525252332912461984612491264912649126129319312931279171295127951275129" - обычно вы не хотите рассматривать ее как допустимый ввод.