A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李朋霏 中级黑马   /  2012-8-16 22:13  /  4703 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

是个面试题 纠结了我半天:
定义decimal(3,2)类型  如果输入下面四个数  结果分别是什么 145,14.5,1.45,1.456会出现什么情况?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

5 个回复

倒序浏览
你面试的数据库应该是mysql吧?


会报错, 因为你已经定义了decimal(3,2) 意思是说 decimal这个数为3位,只接受2位的小数,但是你输入的数字里面出现了三位小数,所以会出错。 你面试的数据库应该是mysql吧?

希望我的答案对你有用

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
前台145经过后台decimal(3,2)处理后,变为5.00
前台14.5经过后台decimal(3,2)处理后,变为4.50
前台1.45经过后台decimal(3,2)处理后,变为1.45
前台1.456经过后台decimal(3,2)处理后,变为1.46

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2012-8-17 09:18
前台145经过后台decimal(3,2)处理后,变为5.00
前台14.5经过后台decimal(3,2)处理后,变为4.50
前台1.4 ...

在SQL里试过了  1.45 和1.456都行 但是前两个会报错 你说的 前台处理是什么意思。
回复 使用道具 举报
李朋霏 发表于 2012-8-17 12:31
在SQL里试过了  1.45 和1.456都行 但是前两个会报错 你说的 前台处理是什么意思。 ...

在页面中或WinForm 中的TextBox文本框输入数据,然后通过后台C#把数据存入数据库,由于数据库字段的类型是decimal(M,N),所以表中存储的数据会是M位并保留N位小数的数据。
回复 使用道具 举报
许庭洲 发表于 2012-8-17 12:50
在页面中或WinForm 中的TextBox文本框输入数据,然后通过后台C#把数据存入数据库,由于数据库字段的类型是 ...

那前两个误差也太大了吧。。。。   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马