黑马程序员技术交流社区

标题: 数据库 decimal的用法 [打印本页]

作者: 李朋霏    时间: 2012-8-16 22:13
标题: 数据库 decimal的用法
是个面试题 纠结了我半天:
定义decimal(3,2)类型  如果输入下面四个数  结果分别是什么 145,14.5,1.45,1.456会出现什么情况?
作者: 樊占江    时间: 2012-8-16 22:39
你面试的数据库应该是mysql吧?


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

希望我的答案对你有用
作者: 许庭洲    时间: 2012-8-17 09:18
前台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
作者: 李朋霏    时间: 2012-8-17 12:31
许庭洲 发表于 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:50
李朋霏 发表于 2012-8-17 12:31
在SQL里试过了  1.45 和1.456都行 但是前两个会报错 你说的 前台处理是什么意思。 ...

在页面中或WinForm 中的TextBox文本框输入数据,然后通过后台C#把数据存入数据库,由于数据库字段的类型是decimal(M,N),所以表中存储的数据会是M位并保留N位小数的数据。
作者: 李朋霏    时间: 2012-8-18 15:00
许庭洲 发表于 2012-8-17 12:50
在页面中或WinForm 中的TextBox文本框输入数据,然后通过后台C#把数据存入数据库,由于数据库字段的类型是 ...

那前两个误差也太大了吧。。。。   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2