мНет описания правки
мНет описания правки
Строка 2: Строка 2:


function p.main(frame)
function p.main(frame)
    local input_string = "0"..frame.args[1].." "
--    local input_string = "f123вап"
      local input_string = frame.args[1] or ""
    local input_string1 = tostring(input_string)
      local cleaned_string = mw.ustring.gsub(input_string, "%D", "")
local str = string.gsub(input_string1, "%D", "")
      local result_number = tonumber(cleaned_string)
local result_number = tonumber(string.match(str, "%d+"))
--    local input_string = "0"..frame.args[1].." "
--    local input_string1 = tostring(input_string)
--   local str = string.gsub(input_string1, "%D", "")
--   local result_number = tonumber(string.match(str, "%d+"))
--    local result_number = tonumber(str)
--    local result_number = tonumber(str)


Строка 14: Строка 17:
--        return result_number
--        return result_number
--    end
--    end
   return input_string, " - ", input_string1, " - ", str, " - ", result_number, " // "
   return input_string, " - ", cleaned_string, " - ", result_number, " // "
end
end
return p
return p

Версия от 12:09, 29 сентября 2023

Преобразование строкового числа в числовое значение

Вызов функции

{{#invoke:StringToNum|main|123}}


local p = {}

function p.main(frame)
	
       local input_string = frame.args[1] or ""
       local cleaned_string = mw.ustring.gsub(input_string, "%D", "")
       local result_number = tonumber(cleaned_string)	
--    local input_string = "0"..frame.args[1].." "
--    local input_string1 = tostring(input_string)
--	  local str = string.gsub(input_string1, "%D", "")
--	  local result_number = tonumber(string.match(str, "%d+"))
--    local result_number = tonumber(str)

--    if result_number == nil then
--         return "Ошибка: входная строка не может быть преобразована в число"
--     else
--         return result_number
--     end
   return input_string, " - ", cleaned_string, " - ", result_number, " // "
end
return p