Wal*_*boy 1 regex lua lua-patterns
我试图弄清楚如何通过使用Lua附加'k'或'm'将大量数字格式化为较短的版本。例:
17478 => 17.5k
2832 => 2.8k
1548034 => 1.55m
Run Code Online (Sandbox Code Playgroud)
我想在那里以及根据示例进行四舍五入。我对Regex不太好,所以我不确定从哪里开始。任何帮助,将不胜感激。谢谢。
模式匹配似乎不是解决此问题的正确方向。
假设小数点后两位保留在较短的版本中,请尝试:
function foo(n)
if n >= 10^6 then
return string.format("%.2fm", n / 10^6)
elseif n >= 10^3 then
return string.format("%.2fk", n / 10^3)
else
return tostring(n)
end
end
Run Code Online (Sandbox Code Playgroud)
测试:
print(foo(17478))
print(foo(2832))
print(foo(1548034))
Run Code Online (Sandbox Code Playgroud)
输出:
17.48k
2.83k
1.55m
Run Code Online (Sandbox Code Playgroud)