计算总是四舍五入

时间:2017-01-05 20:09:09

标签: sql mysqli rounding

SELECT goals, games, ROUND(goals/games, 2) AS "goalspergame"
FROM bgoals
ORDER BY goals DESC, games ;

结果总是给出1,00和0,00,而不是在两个小数位上舍入的确切数字。如果我把100 *放在目标前面,那么我得到一个有用的结果百分比,但是我不希望百分之百。

为了获得有用的结果,我该怎么做?

我已经使用了搜索功能,但到目前为止还没有任何功能。 This似乎很好,但我要么不知道如何使用它,要么它不起作用。

2 个答案:

答案 0 :(得分:0)

这是否有效:

'SELECT goals, games, ROUND(CAST(goals AS FLOAT)/CAST(games AS FLOAT), 2) AS "goalspergame"
FROM bgoals
ORDER BY g.goalsscored DESC, g.ggamesplayed'

答案 1 :(得分:0)

听起来你正在进行整数除法,我假设goalsgames是整数。一个简单的解决方法是乘以1.0得到十进制结果:

SELECT goals, games, ROUND(goals*1.0/games, 2) AS "goalspergame"
FROM bgoals
ORDER BY g.goalsscored DESC, g.ggamesplayed ;

整数类型在划分时返回整数结果,但如果分子或分母是小数,则返回小数结果。