Автокликер Clickermann :: Форум

Основной раздел => Ошибки => Архив => Topic started by: Крис Тинка on January 10, 2014, 07:55:30 PM

Title: ROUND
Post by: Крис Тинка on January 10, 2014, 07:55:30 PM
ROUND вызывает ошибку, если данные введены через INPUTBOX
Code: (clickermann) [Select]
$a = 3 //INPUTBOX("Ввод данных", 3, 10)
$b = ROUND($a/2,0)
LOGWRITE($b)
HALT
Title: Re: ROUND
Post by: Oraven on January 10, 2014, 08:32:30 PM
Следует понимать что некоторые функции возвращают "строку" а не "число", поэтому нужно дополнительно функцией INT преобразовать в "число".

Code: (clickermann) [Select]
$a = INT(INPUTBOX("Ввод данных", 3, 10))

$b = ROUND($a/2,0)
LOGWRITE($b)
HALT
Title: Re: ROUND
Post by: Крис Тинка on January 14, 2014, 03:24:38 PM
Получается, если я беру из массива кусок строки, то мне обязательно нужно применить INT ?
Code: (clickermann) [Select]
LCLICK(($x_ostrov + INT(STRCUT ($island[$num_island], 4, 3))),($y_ostrov + INT(STRCUT ($island[$num_island], 7, 3))))
Title: Re: ROUND
Post by: Oraven on January 14, 2014, 03:47:15 PM
Просто смотри в описании
STRCUT ("str", begin, size) - строковая функция; возвращает кусок строки

Значит INT тут обязателен. Именно из за того что функции пытаются вычислять строки как числа и возникает ошибка.