Skip to content

Commit 2d0fdd7

Browse files
committed
round()
1 parent 4779e15 commit 2d0fdd7

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

roffild.lua

+14-2
Original file line numberDiff line numberDiff line change
@@ -361,12 +361,24 @@ function roffild.genTransId()
361361
return tostring(math.ceil(os.clock() * 1000) % 0x7FFFFFFF)
362362
end
363363

364+
---Определяет примерное количество цифр, которое должно стоять после символа десятичной точки.
365+
---@param num number Число
366+
---@param precision? number Количество цифр после точки
367+
---@return number #Число
368+
function roffild.round(num, precision)
369+
local mult = 10^(precision or 0)
370+
if num < 0 then
371+
return math.ceil(num * mult - 0.5) / mult
372+
end
373+
return math.floor(num * mult + 0.5) / mult
374+
end
375+
364376
---Определяет точное количество цифр, которое должно стоять после символа десятичной точки.
365377
---@param price string|number Цена
366-
---@param precision string|number Количество цифр после точки
378+
---@param precision? string|number Количество цифр после точки
367379
---@return string #Строка
368380
function roffild.roundPrice(price, precision)
369-
return string.format("%." .. tostring(precision) .. "f", tonumber(price))
381+
return string.format("%." .. tostring(precision or "0") .. "f", tonumber(price))
370382
end
371383

372384
---@class roffildcreateOrderReturn

0 commit comments

Comments
 (0)