首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >返回Lua string.format中的百分比符号

返回Lua string.format中的百分比符号
EN

Stack Overflow用户
提问于 2012-10-17 03:08:26
回答 2查看 10.4K关注 0票数 2

在我为一个网络游戏开发的修改脚本中,我试图显示一个数字的当前百分比。

代码语言:javascript
运行
复制
function()
    local z = math.max(0, UnitPower("player")) / math.max(1, UnitPowerMax("player")) * 100;
    return string.format("%.f", z);
end

上面的代码正确地显示百分比。

然而,我有一个困难的时间,使实际百分比标志显示,没有抛出错误到处。

我尝试过在函数结束之前和函数之后添加print("%%"),但是它似乎不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-17 05:25:29

函数string.format,就像C中的printf一样,当您想逐字时,需要将百分比符号加倍。对于printio.write函数来说,情况并非如此!

所以你当然想要这个:

代码语言:javascript
运行
复制
function()
  local z = math.max(0, UnitPower("player")) / math.max(1, UnitPowerMax("player")) * 100;
  return string.format("%.f %%", z);
end
票数 10
EN

Stack Overflow用户

发布于 2012-10-17 03:46:37

弄明白了。

代码语言:javascript
运行
复制
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解决方案,请参阅有关此问题的其他答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12926519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档