Аналитика http://www.geosystema.net/forum/ |
|
Помилка порівняння чисел http://www.geosystema.net/forum/viewtopic.php?f=5&t=19737 |
Страница 1 из 1 |
Автор: | Rutar [ 24 авг 2018 10:51 ] |
Заголовок сообщения: | Помилка порівняння чисел |
Недавно виявив, що програма неправильно порівнює від'ємні числа. Написав такий скрипт для перевірки: Цитата: $a=-450 $b=-400 ; @if $a<=$b then @goto %a else @goto %b ; %a @Dialog.Message A = $a, B = $b, A <= B @goto %c ; %b @Dialog.Message A = $a, B = $b, A > B @goto %c ; %c При виконанні у мене виводить: A = -450, B = -400, A > B. Якщо скрипт переписати наступним чином, то порівняння виконується вірно. Цитата: $a=-450 $b=-400 ; $delta=$a-$b @if $delta<=0 then @goto %a else @goto %b ; %a @Dialog.Message A = $a, B = $b, A <= B @goto %c ; %b @Dialog.Message A = $a, B = $b, A > B @goto %c ; %c Результат: A = -450, B = -400, A <= B |
Автор: | Руслан Пархуць [ 28 авг 2018 21:09 ] |
Заголовок сообщения: | Re: Помилка порівняння чисел |
Rutar писал(а): Недавно виявив, що програма неправильно порівнює від'ємні числа. Написав такий скрипт для перевірки: Цитата: $a=-450 $b=-400 @if $a<=$b then @goto %a else @goto %b В деяких випадках (а це напевно i вiн є) при формуваннi умови змiннi потрiбно заключати в лапки (@if "$a"<="$b" then @goto %a else @goto %b). Колись я стикався з подiбним. |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |