免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8079 | 回复: 8
打印 上一主题 下一主题

db2的DECIMAL在C中如何使用? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-20 13:05 |只看该作者 |倒序浏览
db2表中建立的decimal字段,想在sqc中使用,用什么类型?怎么运算?多谢!

论坛徽章:
0
2 [报告]
发表于 2004-10-20 15:36 |只看该作者

db2的DECIMAL在C中如何使用?

随便把所有的类型都说一下:


  1. DB2数据类型        C数据类型
  2. Smallint                       short
  3. Integer                       Long
  4. Decimal(p,s)        无
  5. Double                       Double
  6. Date                       Char[11]
  7. Time                       Char[9]
  8. Timestamp              Char[27]
  9. Char(X)                  Char[X+1]
  10. Varchar(X)       Char[X+1]
  11. Graphic(X)       Wchar_t[X+1]
  12. Vargraphic(X)    Wchar_t[X+1]
复制代码

对于DECIMAL数据类型,在C语言中也没有对应的数据类型。

例:
字段: decimal col(10,2)

取数据: float v_col;
插数据: char v_amount[12]; //先存放:10位+小数点一位+字符串结束符
           double v_amount;   //插时用atof来转换一下就可以了


你试试!

论坛徽章:
0
3 [报告]
发表于 2004-10-21 10:31 |只看该作者

db2的DECIMAL在C中如何使用?

如果你的数据库里面是当整型在使用,那么,你可以直接使用long就可以了,一般你可以使用double 来对应 decimal

论坛徽章:
0
4 [报告]
发表于 2004-10-21 16:17 |只看该作者

db2的DECIMAL在C中如何使用?

谢谢!
不过,既然要用decimal,为的就是它的精度,而double是无法满足的。
不知道是不是银行有用它的,如果是,他们怎么表示那些大的惊人的金额呢?

论坛徽章:
0
5 [报告]
发表于 2004-10-21 16:37 |只看该作者

db2的DECIMAL在C中如何使用?

原帖由 "ifx" 发表:
谢谢!
不过,既然要用decimal,为的就是它的精度,而double是无法满足的。
不知道是不是银行有用它的,如果是,他们怎么表示那些大的惊人的金额呢?



double还不满足你啊?精度足够

论坛徽章:
0
6 [报告]
发表于 2004-10-21 17:34 |只看该作者

db2的DECIMAL在C中如何使用?

可能现实生活中,double应该足够用了,但是,decimal提供的31精度,double是无法满足的。
因为db2不是很熟悉,所以,不知道应该怎么处理decimal。
既然db2提供这种类型,相信会有办法处理这个的,只是,我还不懂,希望大家不要见笑。

论坛徽章:
0
7 [报告]
发表于 2004-10-22 09:55 |只看该作者

db2的DECIMAL在C中如何使用?

哈,老大,在db2 7版本里面没有对应c的decimal类型
db2都说了,原文如下:
DECIMAL(p,s)
(484 or 485)           No exact equivalent; use double

论坛徽章:
0
8 [报告]
发表于 2004-10-22 10:29 |只看该作者

db2的DECIMAL在C中如何使用?

原帖由 "ifx" 发表:
可能现实生活中,double应该足够用了,但是,decimal提供的31精度,double是无法满足的。
因为db2不是很熟悉,所以,不知道应该怎么处理decimal。
既然db2提供这种类型,相信会有办法处理这个的,只是,我还不懂,..........


大哥啊!你什么应用要用上31位精度啊?

也太精了吧?

我都好奇了!说来我听听

论坛徽章:
0
9 [报告]
发表于 2009-10-20 19:34 |只看该作者
db2的decimal类型有时候会在update时出现少0.01的情况……

至今不知道为何……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP