Java语言float类型
示例
Afloat是单精度32位IEEE754浮点数。默认情况下,小数被解释为双精度。要创建float,只需f在小数文字后附加。
double doubleExample = 0.5; //数字后没有'f'=两倍 float floatExample = 0.5f; //在数字=浮点后加'f' float myFloat = 92.7f; //这是一个漂浮物... float positiveFloat = 89.3f; //可能是积极的, float negativeFloat = -89.3f; //或否定 float integerFloat = 43.0f; //它可以是整数(不是整数) float underZeroFloat = 0.0549f; //它可以是小于0的分数
浮点数处理五个常见的算术运算:加法,减法,乘法,除法和模数。
注意:由于浮点错误,以下内容可能会略有不同。为了清晰和易读起见,对一些结果进行了四舍五入(即,添加示例的印刷结果实际上是34.600002)。
//加成 float result = 37.2f + -2.6f; //结果:34.6 //减法 float result = 45.1f - 10.3f; //结果:34.8 //乘法 float result = 26.3f * 1.7f; //结果:44.71 //师 float result = 37.1f / 4.8f; //结果:7.729166 //模数 float result = 37.1f % 4.8f; //结果:3.4999971
由于浮点数的存储方式(即二进制形式),许多数字没有确切的表示形式。
float notExact = 3.1415926f; System.out.println(notExact); //3.1415925
尽管float对于大多数应用程序来说使用是很好的选择,但float也不double应将其用于存储十进制数字(如货币金额)或需要更高精度的数字的精确表示形式。而是BigDecimal应使用该类。
的默认值float是0.0F。
float defaultFloat; //defaultFloat==0.0f
Afloat精确到大约1千万分之一的误差。
注:Float.POSITIVE_INFINITY,Float.NEGATIVE_INFINITY,Float.NaN都float值。NaN代表无法确定的运算结果,例如除以2个无穷大值。此外0f和-0f有所不同,但==得出的结果是:
float f1 = 0f; float f2 = -0f; System.out.println(f1 == f2); //真正 System.out.println(1f / f1); //无限 System.out.println(1f / f2); //-无限 System.out.println(Float.POSITIVE_INFINITY / Float.POSITIVE_INFINITY); //N