将浮点数转换为 varchar sql

Posted

技术标签:

【中文标题】将浮点数转换为 varchar sql【英文标题】:converting float to varchar sql 【发布时间】:2015-12-22 19:12:04 【问题描述】:

我正在编写一个存储过程,该过程将在返回数据时将浮点列转换为 varchar 作为其过程的一部分。

我不想将所有内容都转换为 varchar(max),因为我认为它可能更有效。我需要使用的最大大小的 varchar 是多少 -

convert(NVARCHAR(????), floatcolumn)

100?

我想确保我永远不会得到看起来像 8397Xe10 的结果

【问题讨论】:

我认为您使用 varchar(200) 左右会很安全。您转换 200 位浮点数的几率是多少?! 请用您正在使用的数据库标记您的问题。 可能重复***.com/questions/3715675/… 【参考方案1】:

大概,您正在使用 SQL Server(基于您问题中的代码)。如果您不想要指数符号,请使用str() 函数(记录在here)。字符串的长度对性能的影响不大,但您可以执行以下操作:

select str(floatcolumn, 100, 8) -- or whatever you think reasonable bounds are for your data

【讨论】:

以上是关于将浮点数转换为 varchar sql的主要内容,如果未能解决你的问题,请参考以下文章

将浮点数转换为美元和美分

将浮点数转换为整数

C将浮点数转换为int

使用 . 将浮点数转换为字符串。而不是 , [重复]

将浮点数转换为无符号短时的舍入问题

将浮点数转换为 hh:mm 格式