在我为一个网络游戏开发的修改脚本中,我试图显示一个数字的当前百分比。
function()
local z = math.max(0, UnitPower("player")) / math.max(1, UnitPowerMax("player")) * 100;
return string.format("%.f", z);
end
上面的代码正确地显示百分比。
然而,我有一个困难的时间,使实际百分比标志显示,没有抛出错误到处。
我尝试过在函数结束之前和函数之后添加print("%%")
,但是它似乎不起作用。
发布于 2012-10-17 05:25:29
函数string.format
,就像C中的printf
一样,当您想逐字时,需要将百分比符号加倍。对于print
或io.write
函数来说,情况并非如此!
所以你当然想要这个:
function()
local z = math.max(0, UnitPower("player")) / math.max(1, UnitPowerMax("player")) * 100;
return string.format("%.f %%", z);
end
发布于 2012-10-17 03:46:37
弄明白了。
function()
local z = math.max(0, UnitPower("player")) / math.max(1, UnitPowerMax("player")) * 100;
return string.format("%.f", z) .. "%%";
end
刚才添加了.. "%%"
;现在显示的值是 100 % (其中100是当前百分比。
超晚编辑:
这是一些定制代码的一部分,被输入到视频游戏“魔兽世界”的一个附件中,这是我想要达到的目标的解决方案,因为作者在“自定义代码”输入上调用了string.format()
。有关标准Lua
解决方案,请参阅有关此问题的其他答案。
https://stackoverflow.com/questions/12926519
复制相似问题