gpt4 book ai didi

lua - 去除尾随零和小数点

转载 作者:行者123 更新时间:2023-12-04 16:49:40 27 4
gpt4 key购买 nike

使用 Lua,我将数字格式化为可变位数并去除尾随零/小数点,例如

string.format(" %."..precision.."f", value):
gsub("(%..-)0*$", "%1"):
gsub("%.$", "")

值是数字类型(正数、负数、整数、小数)。

因此任务已解决,但出于审美、教育和性能原因,我有兴趣了解是否有更优雅的方法 - 可能只使用一个 gsub()

string.format() 中的

%g 不可选择,因为要避免使用科学记数法。

最佳答案

如果您的精度始终 > 0,则尾随字符保证是 0 的任一序列对于花车或 .接着是 0 的序列对于整数。因此,您可以识别并删除这个“预告片”,留下字符串的其余部分:

string.format(" %."..precision.."f", value)
:gsub("%.?0+$", "")

它不会破坏以 0 结尾的整数,因为这些整数在有效零之后会有 float ,因此它们不会被捕获为“字符串结尾之前的 0 序列”。

如果精度为 0,那么您不应该执行 gsub完全没有。

关于lua - 去除尾随零和小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697848/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com