hotbadman 发表于 2009-4-8 16:28:06

求助显示完整小数数值

近来在写直接读取PS3.1的MYSQL数据库的TOP15及RANK,遇到了一个难题。
SQL中的命中率都是Float类型的。
部分代码:假设SQL里的headshotkillspct值为:21.89
new headshotkillspct
new message
……省略SQL查询代码……
headshotkillspct = SQL_ReadResult(query, 0)
format(message, 2047,"暴头率%d%%",headshotkillspct)
show_motd(id, message, "您的排名")
此时,rank显示为:命中率21%,小数点后面的值不见了.
若改成:
format(message, 2047,"暴头率%0.2f%%",headshotkillspct)
此时,rank显示为:命中率0.00%. 值变为0.00了.

请教如何才能让它正确显示出完整的值呢?

zwfgdlc 发表于 2009-4-8 16:54:28

0.2f表示保留两位小数,直接用%f

hotbadman 发表于 2009-4-8 19:23:47

本帖最后由 hotbadman 于 2009-4-8 20:12 编辑

不知楼上的自己试过吗?

我是试过的.
直接用%f.就成了0.000000,仍然是显示不出真实值的.
并且,0.2%保留后两位的确是我需要这样的.但它的值却成0.00了.

算了,不直接取它了.用笨方法:
100.0*float(hits)/float(shots)
后再%0.2f就能显示了.

Rulzy 发表于 2009-4-10 17:56:14

new Float: headshotkillspct

SQL_ReadResult(query, 0, headshotkillspct)

BliaNe 发表于 2009-4-11 09:06:52

建议这样用
new Float:headshotkillspct
new Float:Show_headshotkillspct

SQL_ReadResult(query, 0, headshotkillspct)

Show_headshotkillspct=headshotkillspct


这样会效率很多!!
页: [1]
查看完整版本: 求助显示完整小数数值