我是音乐评论员,我想建立自己的网站。 我在mysql中构建了一个数据库,其中包含一个评级列。 以下是可能性:10,9.5,9,8.5,8,7.5 ...... 1,0.5和0
我可以使用什么样的colum,现在我选择DECIMAL,其值为:3,1
问题是,当我输入9时,它返回9.0 ...有没有办法在一列中存储整数和十进制数?
答案 0 :(得分:0)
将它们存储为小数但作为100的一部分存储.9.9将为99.然后使用php除以10并将其转换为double。 您可以通过添加小数和0来转换为加倍。
结果/ 10.0
答案 1 :(得分:0)
您正在将值与表示混为一谈。如果你没有对值进行算术运算(只是比较它们),那么你可以考虑将它们存储为字符串。
或者,当选择它们进行打印时,您可以根据需要格式化值:
select (case when rating % 1 = 0 then format(rating, 0)
else format(rating, 1)
end)
答案 2 :(得分:0)
为了格式化显示的数字,你可以使用你正在解析mysql结果的任何语言进行那种处理。例如,在PHP中,你只需要转换为浮点并打印它。
$string = '9.0000000';
echo (float)$string;
这会打印'9'。