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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 10642491 黑马帝   /  2011-10-30 06:56  /  3700 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问SQLServer2005中Decimal与Flioat数据类型区别和具体用法,谢谢!

3 个回复

倒序浏览
decimal用于精确存储数值,float不能精确存储数值。
decimal数据类型最多可以存储38个数字,所有数字都可以放到小数点右边,decimal数据类型存储了一个精确的数字表达法;不存储值的近似值。
float数据类型被称为近似的数据类型。近似数据类型并不存储多数数字指定的精确值,它只存储这些值的最近似值。

评分

参与人数 1技术分 +2 收起 理由
官方工作人员 + 2 很给力!

查看全部评分

回复 使用道具 举报
精度不一样
float是浮点数,不能指定小数位,精度很高。
decimal是精确数,可以指定精度,如decimal(18,2),一般货币,钱等数据要用decimal。
值得一提的是,float在CLR中对应的类型是Single,即使在语言(如C#)中声明为float变量,也会被编译器编译为Single

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 xiaobai198611 于 2011-11-2 17:34 编辑

float可以指定小数位的,至少在c#中小数位后最多可以指定7位了。不过float在c#中比较特殊了,写成小数点要末尾加一个F了。否则报错。这个也是区别float和double吧。
float的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
  float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;举例说明:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace ConsoleApplication5
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             float s = 1.55555579f;
  12.             Console.Write(s);
  13.             Console.Read();
  14.         }
  15.     }
  16. }
复制代码
输出结果为:1.555556,小数位为六位。
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace ConsoleApplication5
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             float s = 0.55555579f;
  12.             Console.Write(s);
  13.             Console.Read();
  14.         }
  15.     }
  16. }
复制代码
输出结果为: 0.5555558,此时小数位为7位数。

      而在sqlserver中float型的数据存储大小为8个字节,可精确到小数点后第15位数字。最多15位,小数点后位数一般在14-15位,这种数据类型的数据存储范围为从-1.79E 308~-2.23E-308,0和2.23E 308~1.79E 308。例如:0.555555555555578,小数点为15位。1.55555555555558,小数点为14位。

点评

不错!  发表于 2012-12-21 14:25

评分

参与人数 2技术分 +2 黑马币 +3 收起 理由
杨恩锋 + 2 赞一个!
10642491 + 3 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马