首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无零点回波十进制值( .0 )

问无零点回波十进制值( .0 )
EN

Stack Overflow用户
提问于 2015-06-13 13:07:52
回答 3查看 185关注 0票数 0

我在用

小数(5,1)

来存储我的数据。当价值是12.2, 66.4时..。每件事都可以。但非十进制值:5, 10 , 20 .什么时候回声会是5.0, 10.0 ..。

我如何回显它们的样子:

代码语言:javascript
复制
1, 2.2, 2.5, 10, 10.5, 10.6, 11
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-13 13:39:48

Gordon Linoff的回答可能会奏效,但以下是PHP的方法:

代码语言:javascript
复制
echo (intval($var) == $var) ? intval($var) : $var;

或者,如果你不喜欢三元条件:

代码语言:javascript
复制
if (intval($var) == $var) {
    echo intval($var);
} else {
    echo $var;
}
票数 1
EN

Stack Overflow用户

发布于 2015-06-13 13:10:06

您需要查看该值并决定如何格式化它。类型说明说“小数位后保留一位数字”,MySQL努力做到这一点。

有很多种方法。这里有一个:

代码语言:javascript
复制
select (case when val = cast(val as int) then format(val, 0)
        else format(val, 10) end)

格式添加逗号,对于大于1,000的数字(在我看来)似乎是可取的。但是如果你不喜欢的话还有其他的方法。

票数 1
EN

Stack Overflow用户

发布于 2015-06-13 14:37:48

适用于任意数量小数位的通用解决方案:删除所有尾随零,如果最后一个字符是句号,也删除它:

代码语言:javascript
复制
TRIM(TRAILING '.' FROM (TRIM(TRAILING '0' FROM (CAST(col AS VARCHAR(40))))))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30819016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档