VJass + Jass2
Код
globals
integer INT_UNIT = 0
integer INT_TEN = 1
integer INT_HUNDRED = 2
integer INT_THOUSAND = 3
endglobals
function mod takes integer x, integer y returns integer
local integer z = x - (x / y) * y
if z < 0 then
set z = z + y
endif
return z
endfunction
function GetUBN takes integer IsIntValue, integer IsIntModal, integer Value returns integer
local integer Result = 0
//Из десятки по числу
if IsIntModal == INT_TEN then
if IsIntValue == INT_UNIT then
set Result = mod(Value, 10)
elseif (IsIntValue == INT_TEN) then
set Result = (Value - mod(Value, 10)) / 10
endif
endif
//Из сотки по числу
if IsIntModal == INT_HUNDRED then
if IsIntValue == INT_UNIT then
set Result = mod(mod(Value, 100), 10)
elseif (IsIntValue == INT_TEN) then
set Result = mod(Value, 100) / 10
elseif (IsIntValue == INT_HUNDRED) then
set Result = Value / 100
endif
endif
//Из тысячи по числу
if IsIntModal == INT_THOUSAND then
if IsIntValue == INT_UNIT then
set Result = mod(mod(mod(Value, 1000),100),10)
elseif (IsIntValue == INT_TEN) then
set Result = mod(mod(Value, 1000),100) / 10
elseif (IsIntValue == INT_HUNDRED) then
set Result = mod(Value, 1000) / 100
elseif (IsIntValue == INT_THOUSAND) then
set Result = Value / 1000
endif
endif
return Result
endfunction
Тебе нужно чтобы возвращало цифру от числа, так ?