【发布时间】:2016-04-21 02:32:51
【问题描述】:
我在 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
我收到整数格式的结果 ((integer) 224 ) 我怎样才能收到真正格式字符串“224.5”的结果?
【问题讨论】:
-
Lua 5.3 确实区分了浮点数和整数。
-
什么是“逗号分隔格式”?
1,000,000.0010^6 之类的东西? -
我已经更新了问题
-
你想要什么字符串作为结果 224?如果你想要
224.0,请使用string.format("%.1f",sum)。 -
@lhf 我想要十进制数字的结果。我不知道为什么结果是 224。