давайте вернёмся к теме, а?))
короче, как я понял по вот этому коду:
Local bool%=Str("70")<Str("600")
Print bool
WaitKey()
End
|
ты хочешь проверить, будет ли 70 меньше чем 600. блиц выводит, что нет.
почему? смотрим хелп по команде str:
Используйте эту команду, чтобы преобразовать числовое значение в строковое значению для использования с командами обработки строк. Blitz запросто печатает числовые значения так же, как и строчные, но если Вы захотите использовать такие функции, как LEFT$ или подобные, Вы должны будете преобразовать вашу числовую переменную в строчную. Заметьте: в процессе преобразования все 6 десятичных цифр будут представлены в виде числа с плавающей запятой .
Если Вы пожелаете выполнить обратное действие - преобразовать строку в число, то не найдете в Blitz-е никакой команды, эквивалентной команде Val в другтх версиях Бейсика. Вместо этого просто присвойте строковую переменную числовой переменной, и Blitz сам преобразует её.
проще говоря, он преобразует число 70 в "70". а ты задаешь ему сразу "70". понятное дело, заковыка... блиц путается и сравнивает значения посимвольно: "7">"6"? да, выходим из проверки. получаем 0. если же сделать int("70") и int("600"), то получим, что всё в порядке. если же поставить Str(70) и Str(600), то опять получим 0, потому как он проверяет посимвольно. Никаких проблем и ошибок нет.