Вы ничего не пропустили.Используемый метод сравнивает две строки в алфавитном порядке.Это означает, что если строка A находится в алфавите перед строкой B, то она возвращает -1.
Поскольку вы сравниваете две строки, а не два числа, функция просматривает первый символ обоихстроки («3» и «4» в вашем примере. Поскольку «3» имеет более низкий код ASCII, чем «4» (51 и 52 соответственно), функция заключает, что «315160» впереди в алфавите *)1004 *, чем "40000", поэтому он возвращает -1. Поскольку вы сравнили результат этой функции (-1) с 0, переменная (правильно) true
, потому что -1 <0. </p> Для того, что вы хотите, вам нужно будет запрограммировать свою собственную функцию. Я не знаю, есть ли какая-либо функция уже запрограммирована.
Позже редактирование: больше информации о string.compare .
Позже правка 2: что-то еще показалось мне интересным:
но в моем приложении я не знаю, являются ли они цифрами или буквами.
Дляболее простой способ решения этой проблемы, вы можете начать с проверки, являются ли два входа числами илибуквы.Вы бы избавили себя от многих проблем, потому что иногда эти два ввода будут числами, а решение очень просто.