热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqlserver浮点型转为字符串

sqldouble222.22222222如何转换成字符串222.22222222%convertcast都是保留4位小数。
 sql 
 double 
 222.22222222 如何转换成字符串 
 222.22222222%

convert  cast 都是保留4 位小数。

7 个解决方案

#1


DECLARE @v FLOAT
SET @v = 222.22222222
SELECT RTRIM(CONVERT(DECIMAL(18,4), @v))+'%'

#2


select CONVERT(varchar(20),' 222.22222222')
select CONVERT(varchar(20),' 222.22222222%')
不太明白你是要把所有数字转为字符串还是要四舍五入,如果四舍五入楼上就没问题,如果全转为字符串,那我这个就可以了。

#3


--float属于近似值,转换成显示的字符串时,会有问题。变通下:
DECLARE @v FLOAT, @result VARCHAR(100)
SET @v = 222.22229999
IF CONVERT(DECIMAL(18,4), @v) > CONVERT(DECIMAL(38,20), @v)
SELECT RTRIM(CONVERT(DECIMAL(18,4), @v) - 0.0001)    

#4


declare @num as numeric(18,8)

select @num=222.22222222

select CAST(@num as varchar)+'%'

go

#5


受用了!谢谢

#6


引用 2 楼 dhlb 的回复:
select CONVERT(varchar(20),' 222.22222222')
select CONVERT(varchar(20),' 222.22222222%')
不太明白你是要把所有数字转为字符串还是要四舍五入,如果四舍五入楼上就没问题,如果全转为字符串,那我这个就可以了。

这样是最方便的

#7



declare @x decimal(20,8)

select @x=222.22222222

select cast(@x as varchar(20)) x

/*
x
--------------------
222.22222222

(1 row(s) affected)
*/

推荐阅读
author-avatar
jin冫g_-_-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有