我在lua脚本中接收来自redis的哈希,其中包含字符串格式的数字.
1) "30" 2) "30.7" 3) "12.7" 4) "15.7" 5) "20.7" 6) "19.7" 7) "20.5" 8) "21.5" 9) "22.3" 10) "30.7"
我知道Lua不区分浮点数和整数.
这是脚本:
local sum = "0.0" local matches = redis.call('KEYS', 'sdid:*') for _,key in ipairs(matches) do local val = redis.call('HGET', key ,'data') sum = sum + val end return sum
我收到整数格式的结果((整数)224)我怎样才能收到真实格式字符串"224.5"的结果?
在算术运算中,Lua自动将包含数字的字符串转换为数字.
所以,只需添加字符串,a+b+c
您将获得数字6.6.
如果你希望结果有1个小数位,即使它是一个整数,请使用string.format("%.1f",sum)
.