我在用
小数(5,1)
来存储我的数据。当价值是12.2, 66.4时..。每件事都可以。但非十进制值:5, 10 , 20 .什么时候回声会是5.0, 10.0 ..。
我如何回显它们的样子:
1, 2.2, 2.5, 10, 10.5, 10.6, 11发布于 2015-06-13 13:39:48
Gordon Linoff的回答可能会奏效,但以下是PHP的方法:
echo (intval($var) == $var) ? intval($var) : $var;或者,如果你不喜欢三元条件:
if (intval($var) == $var) {
echo intval($var);
} else {
echo $var;
}发布于 2015-06-13 13:10:06
您需要查看该值并决定如何格式化它。类型说明说“小数位后保留一位数字”,MySQL努力做到这一点。
有很多种方法。这里有一个:
select (case when val = cast(val as int) then format(val, 0)
else format(val, 10) end)格式添加逗号,对于大于1,000的数字(在我看来)似乎是可取的。但是如果你不喜欢的话还有其他的方法。
发布于 2015-06-13 14:37:48
适用于任意数量小数位的通用解决方案:删除所有尾随零,如果最后一个字符是句号,也删除它:
TRIM(TRAILING '.' FROM (TRIM(TRAILING '0' FROM (CAST(col AS VARCHAR(40))))))https://stackoverflow.com/questions/30819016
复制相似问题