浮点型数据又称实型数据,是一个以十进制表示的符号实数。符号实数的值包括整数部分、尾数部分和指数部分。
2.4.1 浮点型常量
一些较大的数值,或者有小数位、指数位的数值都需要用浮点型常量表示。浮点型常量的形式是:
[正负符号] [数值] .[数值] [E | e [正负符号] 数值]
其中,“数值”是一位或多位十进制数字,E 或 e 是指数符号。小数点之前是整数部分,小数点之后是尾数部分,如果小数点后没有数值,尾数部分可以省略。指数符号后的正负符号修饰指数,如果是正数,可省略正负符号。如果没有指数,指数符号及其后的内容可省略。例如,浮点型常量 2.734E3 与 数学表达式 2.734 x 10的3次方意义相同。在浮点型常量中不得出现任何空白符号。在不加说明的情况下,实型常量为正值。如果表示负值,需要在常量前使用负号。
注意:字母 E 或 e 之前必须有数字,且 E 或 e 后面指数必须为整数,如 “e6”、“1.414e6.1”、“.e7”、“e”等都是不合法的指数形式。
2.4.2 浮点型变量
浮点型变量为 单精度(float型)和双精度(double型)。对每一个浮点型变量都应在使用前加以定义。如下例所示:
float a; // 声明单精度浮点型变量 double b; // 声明双精度浮点型变量
如果浮点型常量是双精度浮点型,当把该常量赋给一个单精度浮点型变量时,系统会截取相应的有效位数。如下例所示:
float a; // 声明单精度浮点型变量 a = 1.23456789; // 为单精度浮点型变量赋值
由于 float 型变量只能接收 7 位有效数字,因此最后两位小数不起作用。如果 a 改为 double 型,则能全部接收上述 9 位数字并存储在变量 a 中。