使用Lua,我可以将数字格式化为可变数量的数字,并去除尾随零/小数点,例如:
string.format(" %."..precision.."f", value):
gsub("(%..-)0*$", "%1"):
gsub("%.$", "")
值是数字类型(正数,负数,整数,小数)。
任务已经解决,但出于美观、教育和性能方面的考虑,我想了解是否有更优雅的方法——可能仅使用一个 gsub()
。
string.format()
中的 %g
不是一个选项,因为要避免科学计数法。
value
有些约束条件吗? - hjpotter92:gsub("(%.%d-)0+$", "%1")
。如果没有零,它会跳过替换,并将小数点后的字符限制为数字(允许在输入字符串中更灵活)。此外,以冒号开头是链接命令的传统方式(这使您可以在链的末尾注释掉一行而不会出现语法错误)。 - Stuart P. Bentley