请教db2中将float转成字符串的问题,请大家帮帮忙啊!

frestlily 2007-07-19 10:12:54
a.floatvalue字段为float型,用char(a.floatvalue),结果0.55555555成了‘5.5555555E-1’,而我想要‘0.55555555’,怎么处理?
我用cast(a.floatvalue as char(100))还是同样的结果!
请大家帮忙啊!
...全文
448 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyflog 2007-07-19
  • 打赏
  • 举报
回复
这个应该是你显示的问题,应该看你的程序中如何控制显示数据的格式
frestlily 2007-07-19
  • 打赏
  • 举报
回复
谢谢happyflog和norno!
执行select char(a.floatvalue) from table 显示的就是科学记数法的形式。
用decimal(a,b),a 和b不好设,因为参数不是固定的,而页面需要的就是普通的显示格式。
因为要插入的目标字段还有来源于其他字段的各种字符串,所以页面不好过滤处理。

norno 2007-07-19
  • 打赏
  • 举报
回复
把decimal(a,b)中的a b根据你的需要调整
norno 2007-07-19
  • 打赏
  • 举报
回复
。。。
上面弄错了 DB2 9中的decfloat不是这个

有个折中的解决办法
char(cast(a.floatvalue as decimal(7,6)))
norno 2007-07-19
  • 打赏
  • 举报
回复
在db2 8.0中
确实是这样 直接将float double转成char是不行的
就如楼主所说
可以将数据取出来 再转换

在DB2 9中
似乎有个decfloat 可以浮点表示
happyflog 2007-07-19
  • 打赏
  • 举报
回复
select char(a.floatvalue) from table 你执行一下这个语句 如果显示的是 0.5555555 那说明和数据库无关了 科学计数法显示多数原因是你的展现造成的
frestlily 2007-07-19
  • 打赏
  • 举报
回复
我需要将float字段值转成字符串,得到0.55555555转成‘0.55555555’的效果,插入到一个char字段中(必须进行转换,因为目标字段还可有其他char字段的值动态插入),页面只显示,不做处理

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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