Lua中对复数和实数进行四舍五入

我想要一个用于复数的四舍五入方法。假设复数总是以a+bi的形式表示,其中a和b是实数。我需要一个类似于下面的函数。

function round(num, numDecimalPlaces)
  local mult = 10^(numDecimalPlaces or 0)
  return math.floor(num * mult + 0.5) / mult
end

这个函数可以对实数进行四舍五入。我所需要的是这样的结果。

 round(2.784,2) --结果为 2.78
    round(2.78655,3) --结果为 2.787
    round(2.784+3.1245i,2) --结果为 2.78+3.12i
    round("2.7885+3.1246i",3) --结果为 2.789+3.125i
    round("3.1246i",2) --结果为 3.12i
点赞