请教字符串转float的问题

cxf_ksword 2007-08-09 10:06:43
我想把字符串"0.1"转成0.1,用了下面的sql语句:
select convert(float,'0.1')
但结果是:0.10000000000000001
请问怎转成0.1,实际中小数后的位数是不定的
...全文
453 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingshuihepan 2010-06-01
  • 打赏
  • 举报
回复
我也正苦恼这个问题 郁闷
hui_hui_2007 2007-08-10
  • 打赏
  • 举报
回复
用numeric(10,2)吧。这是精确的。
float和real都是近似值
rfq 2007-08-10
  • 打赏
  • 举报
回复
float 和real 都是浮点数 近似数
转换成numeric()
Limpire 2007-08-10
  • 打赏
  • 举报
回复
float 和 real
用于表示浮点数字数据的近似数字数据类型。
cxf_ksword 2007-08-10
  • 打赏
  • 举报
回复
varchar转float后好像只在查询分析器中看到有这种问题,在企业管理器中是正常的。。。不知什么原因
anison 2007-08-10
  • 打赏
  • 举报
回复
mark
cxf_ksword 2007-08-09
  • 打赏
  • 举报
回复
因为要转换字符串的位数是不定的,所以还是有点问题
to playwarcraft, qys2000

select convert(numeric(18,1),'0.001') 的结果是'.0'

to qnc1234567890

select convert(real,'0.0001') 的结果是'9.9999997E-5'

我想转换后用sum()加起来的,但数据库这字段是varchar类型,好郁闷
qnc1234567890 2007-08-09
  • 打赏
  • 举报
回复
select convert(real,'0.1')
qys2000 2007-08-09
  • 打赏
  • 举报
回复
转成这个肯定行!numeric(18,1)
wanghb1982 2007-08-09
  • 打赏
  • 举报
回复
string s = "0.1";
double f = double.Parse(s);
yesyesyes 2007-08-09
  • 打赏
  • 举报
回复
float就是这样的
playwarcraft 2007-08-09
  • 打赏
  • 举报
回复
轉成numeric(18,1)看看

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧