JASS Help

S2I

native S2I takes [[[string|string.html]]] s returns [[[integer|integer.html]]]

Преобразует строку в целое число. Не поддерживает восьмеричную и шестнадцатеричную запись

Алгоритм довольно прост, строка побайтово перебирается слева направо игнорируя пробелы. При нахождении знака минуса или числа функция начинает собирать результирущее число и если встретит любой не числовой символ, то завершит работу и вернёт результат.

Если число не было найдено, будет возвращён ноль.

function [[[main|main.html]]] takes [[[nothing|nothing.html]]] returns [[[nothing|nothing.html]]] call ConsolePrint([[[I2S|i2s.html]]](S2I("в любой непонятной ситуации возвращает ноль"))) // 0 call ConsolePrint([[[I2S|i2s.html]]](S2I(" 12 игнорирует не цифры после числа"))) // 12 call ConsolePrint([[[I2S|i2s.html]]](S2I(" -3 4 "))) // -3 call ConsolePrint([[[I2S|i2s.html]]](S2I(" --5 "))) // 0 call ConsolePrint([[[I2S|i2s.html]]](S2I(" -012 [[[восьмеричная запись|integer.html#radix8]]] не поддерживается"))) // -12 call ConsolePrint([[[I2S|i2s.html]]](S2I(" -0xFF [[[шестнадцатеричная запись|integer.html#hex]]] не поддерживается"))) // 0 endfunction
Last modified: 22 October 2024