Java中怎么把浮点数转变成整数只保留整数部分
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中怎么把浮点数转变成整数只保留整数部分相关的知识,希望对你有一定的参考价值。
通过转换为字符串,再截取整数部分:
float a = 1.1f;//定义一个浮点变量a
String str = String.valueOf(a);//浮点变量a转换为字符串str
int idx = str.lastIndexOf(".");//查找小数点的位置
String strNum = str.substring(0,idx);//截取从字符串开始到小数点位置的字符串,就是整数部分
int num = Integer.valueOf(strNum);//把整数部分通过Integer.valueof方法转换为数字
扩展资料:
Java的浮点类型有两种:float和double。
Java的浮点类型有固定的表数范围和字段长度,字段长度和表数范围和机器无关,double类型代表双精度浮点数,float类型代表单精度浮点数。
Java的浮点数遵循IEEE754标准,采用二进制数据的科学计数法来表示浮点数,对于float型数值,第1位是符号位,接下里8位表示指数,再接下来的23位表示尾数;对于double类型数值,第一位也是符号位,接下来的11位表示指数,再接下来的52位表示尾数。
参考资料来源:百度百科-Java (计算机编程语言)
参考资料来源:百度百科-浮点数 (有理数)
参考技术A两种方式:
1、通过强制类型转换
float a=1.1f;//定义一个浮点变量aint b = (int)a;//这里使用(int)方式对float进行强转,结果为1
2、通过转换为字符串,在截取整数部分
String str = String.valueOf(a);//浮点变量a转换为字符串str
int idx = str.lastIndexOf(".");//查找小数点的位置
String strNum = str.substring(0,idx);//截取从字符串开始到小数点位置的字符串,就是整数部分
int num = Integer.valueOf(strNum);//把整数部分通过Integer.valueof方法转换为数字 参考技术B Integer.valueOf(浮点数),Integer.oarseInt(浮点数);
或Long.valueOf(浮点数)本回答被提问者采纳 参考技术C 强制类型转换 参考技术D 楼上正解
不过还可以直接强转类型比如(int)
计算机组成原理——浮点数表示方法
为了表示浮点数,数被分为两部分:整数部分和小数部分。例如,浮点数14.234就有整数部分14和小数部分0.234.首先把浮点数转换成二进制数,步骤如下:1把整数部分转换成二进制.2把小数部分转换成二进制.3在两部分之间加上小数点.浮点数还可以规范化,浮点数可以用单精度表示法和双精度表示法.规范化只存储这个数的三个部分的信息:符号,指教和尾数.如+1000111.0101规范化后为
+ 2^6 * 1.0001110101
符号 指数 尾数
规范化数的单精度表示法如+2^6*1.01000111001解:
由于符号为正,就用0表示.指数是6,在Excess_127表示法中,给指数加上127得到133.用二进制表示,就是10000101.尾数是01000111001.当把位数增加到32位,得到01000111001000000000000.注意不可以漏掉左边的0,因为它是小数.漏掉了那个0就相当于把这个数乘于2.这个数在内存中以32位数存储.如下所示
符号 指数 尾数
0 10000101 01000111001000000000000
以上是关于Java中怎么把浮点数转变成整数只保留整数部分的主要内容,如果未能解决你的问题,请参考以下文章