⑴ mysql中float用什么类型
对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值使用8个字节。
FLOAT类型用于表示近似数值数据类型。SQL标准允许在关键字FLOAT后面的括号内选择用位指定精度(但不能为指数范围)。MySQL还支持可选的只用于确定存储大小的精度规定。0到23的精度对应FLOAT列的4字节单精度。24到53的精度对应DOUBLE列的8字节双精度。
MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。
MySQL将DOUBLE视为DOUBLE PRECISION(非标准扩展)的同义词。MySQL还将REAL视为DOUBLE PRECISION(非标准扩展)的同义词,除非SQL服务器模式包括REAL_AS_FLOAT选项。
为了保证最大可能的可移植性,需要使用近似数值数据值存储的代码应使用FLOAT或DOUBLE PRECISION,不规定精度或位数。
DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值,例如货币数据。当声明该类型的列时,可以(并且通常要)指定精度和标度;例如:
salary DECIMAL(5,2)
在该例子中,5是精度,2是标度。精度表示保存值的主要位数,标度表示小数点后面可以保存的位数。
在MySQL 5.1中以二进制格式保存DECIMAL和NUMERIC值。
标准SQL要求salary列能够用5位整数位和两位小数保存任何值。因此,在这种情况下可以保存在salary列的值的范围是从-999.99到999.99。
在标准SQL中,语法DECIMAL(M)等价于DECIMAL(M,0)。同样,语法DECIMAL等价于DECIMAL(M,0),可以通过计算确定M的值。在MySQL 5.1中支持DECIMAL和NUMERIC数据类型的变量形式。M默认值是10。
DECIMAL或NUMERIC的最大位数是65,但具体的DECIMAL或NUMERIC列的实际范围受具体列的精度或标度约束。如果此类列分配的值小数点后面的位数超过指定的标度允许的范围,值被转换为该标度。(具体操作与操作系统有关,但一般结果均被截取到允许的位数)。
⑵ float是什么数据类型
float是浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。
浮点数使用IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
c语言特点:
(1)简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
(3)丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
⑶ 第04部分:浮点数类型
在Java中,实数使用float和double数据类型表示。float类型是32位单精度浮点数,double类型是64位双精度浮点数。这两种类型都符合IEEE 754-1985标准。这个标准规定了浮点数的格式和运算方式。
浮点数可以以字面量的形式写在Java程序中,其格式为一些可选数字,后面跟一个小数点和一些数字,例如:
浮点数字面量还可以使用指数形式(科学计数法)表示。其格式为一个数后面跟着字母e或者E和一个数,第二个数表示10的次方,是第一个数的乘数。例如:
默认情况下,浮点数都是double类型,若想在程序中使用float类型,要在数字后面加上f或者F,例如:
浮点数字字面量不能使用十六进制,二进制或者八进制表示。
由于本质上的限制,大多数实数都不能使用有限的位数进行精确表示,因此要记住,float和double类型都只能表示实际值的近似值。float类型是32位近似值,至少有6个有效数字,double是64位近似值,至少有15个有效数字。
除了表示普通的数字之外,float和double还能表示四个特殊的值:正无穷大,负无穷大,零和NaN。如果浮点数运算的结果超出了float或double能表示的范围上线得到的是无穷大。如果浮点数的运算结果超出了float或double能表示的范围下限,得到的是零。
Java的浮点类型区分正零和负零,具体是哪个值取决于从哪个方向出现的下溢,在实际使用中,正零和负零的表现基本一样。最后一种特殊的浮点数NaN,是“Not-a-Number”的简称,表示“不是数字”。如果浮点数运算不合法,例如0.0/0.0,得到的就是NaN,例如:
Java浮点数类型能处理到无穷大的上溢以及到零的下溢,因此浮点数运算从不抛出异常,就算执行非法运算也没事,例如零除以零,或者计算负数的平方根。
float和double基本类型都有对应的包装类,分别为Float和Double。这两个类都定义了一些有用的常量,如:MIN_VALUE、MAX_VALUE、NEGATIVE_INFINITY、POSITIVE_INFINITY 和 NaN。
无穷大浮点数的表现和设想的一样,例如,无穷大之间的加减运算得到的还是无穷大,负零的表现几乎和正零一样。而且实际上,相当判断运算符==会告诉你,负零和正零是相等的,区分正零和负零还有普通的零有一种方法,把它作为被除数:1.0/0.0得到的是正无穷大,但是1.0/负零得到的是负无穷大。因为NaN不是数字,所以==运算符会告诉我们它不等于任何其它数字,甚至包括它自己,若是想检查某个float或者double值是否为NaN,必须使用 Float.isNaN() 或 Double.isNaN() 方法。