мНет описания правки
Метка: ручная отмена
мНет описания правки
 
(не показано 50 промежуточных версий этого же участника)
Строка 1: Строка 1:
local function cleanString(input_string)
    local cleaned_string = string.gsub(input_string, "%D", "")
    return tonumber(cleaned_string)
end
local p = {}
local p = {}


function p.main(frame)
function p.main(frame)
    local input_string = frame.args[1]
    local result_number = tonumber(input_string)
      local input_string = frame.args[1] or ""
--      local cleaned_string = mw.ustring.gsub(input_string, "%D", "")
      local result_number = cleanString(input_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
--    if result_number == nil then
         return "Ошибка: входная строка не может быть преобразована в число"
--         return "Ошибка: входная строка не может быть преобразована в число"
     else
--     else
         return result_number
--         return result_number
     end
--     end
  return result_number
end
end
return p

Текущая версия от 12:38, 29 сентября 2023

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

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

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


local function cleanString(input_string)
    local cleaned_string = string.gsub(input_string, "%D", "")
    return tonumber(cleaned_string)
end

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 = cleanString(input_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 result_number
end
return p