Module:PercentageCalculator: Difference between revisions
Jump to navigation
Jump to search
(Created page with "-- Function to calculate percentages of a number local p = {} function p.calculatePercentages(frame) local input = tonumber(frame.args[1]) if not input then return "Invalid input. Please enter a valid number." end local percentages = {input} -- Calculate percentages local percentagesToAdd = {0.15, 0.25, 0.30, 0.35, 0.40} for i, percent in ipairs(percentagesToAdd) do table.insert(percentages, input * percent) end --...") |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
end | end | ||
local percentages = { | local originalNumber = input | ||
local percentages = {originalNumber} | |||
-- Calculate percentages | -- Calculate percentages | ||
local | local percentagesToSubtract = {0.15, 0.25, 0.30, 0.35, 0.40} | ||
for i, percent in ipairs( | for i, percent in ipairs(percentagesToSubtract) do | ||
table.insert(percentages, | local subtractedValue = originalNumber * percent | ||
originalNumber = originalNumber - subtractedValue | |||
table.insert(percentages, math.floor(originalNumber + 0.5)) -- Round to the nearest integer | |||
end | end | ||
-- Format the output | -- Format the output | ||
local output = {} | local output = {} | ||
for i, value in ipairs(percentages) do | |||
table.insert(output, tostring(value)) | |||
table.insert(output, tostring( | |||
end | end | ||
return table.concat(output, " | return table.concat(output, " ") | ||
end | end | ||
return p | return p |
Latest revision as of 15:40, 1 May 2024
Documentation for this module may be created at Module:PercentageCalculator/doc
-- Function to calculate percentages of a number
local p = {}
function p.calculatePercentages(frame)
local input = tonumber(frame.args[1])
if not input then
return "Invalid input. Please enter a valid number."
end
local originalNumber = input
local percentages = {originalNumber}
-- Calculate percentages
local percentagesToSubtract = {0.15, 0.25, 0.30, 0.35, 0.40}
for i, percent in ipairs(percentagesToSubtract) do
local subtractedValue = originalNumber * percent
originalNumber = originalNumber - subtractedValue
table.insert(percentages, math.floor(originalNumber + 0.5)) -- Round to the nearest integer
end
-- Format the output
local output = {}
for i, value in ipairs(percentages) do
table.insert(output, tostring(value))
end
return table.concat(output, " ")
end
return p