strs = content.substring(7, 11);//取一个11位字符串的后四位
num=Float.parseFloat(strs);//String->float 转换成浮点型以便计算
//(Integer.parseInt(strs);String->Int)
result = (num/ 80);//作除法
result = (num/ 80);//作除法
--截小数部分 star--
numstr=Float.toString(result);//float->String 将结果再转换成字符串以截取小数部分
point=numstr.indexOf(".");//找到字符串中小数点的位置
numpoint=numstr.substring(point,numstr.length());//把小数点后的部分截出来。
newstr="0"+numpoint;//加零组成除去整数部分的小数
newnum=Float.parseFloat(newstr);//将组合好的字符串变成浮点型
numstr=Float.toString(result);//float->String 将结果再转换成字符串以截取小数部分
point=numstr.indexOf(".");//找到字符串中小数点的位置
numpoint=numstr.substring(point,numstr.length());//把小数点后的部分截出来。
newstr="0"+numpoint;//加零组成除去整数部分的小数
newnum=Float.parseFloat(newstr);//将组合好的字符串变成浮点型
--end--
mobilenum=(int)(newnum*80);//做运算后强制得到整型数据
System.out.println("mobilenum="+mobilenum);
mobilenum=(int)(newnum*80);//做运算后强制得到整型数据
System.out.println("mobilenum="+mobilenum);
这是用转换成字符串的方式截取出小数的方法,是我觉得最好用的也最方便的,JAVA中是有对应取小数部分,整数部分的函数,但我用时有一个问题一直没解决。截出的小数部分按浮点型的精度转换后和原来的数值就对不上了,后面有一长串的小数出来,做运算时结果就不对。而且浮点型和整型之间运算时也会出现这种问题,几种方法试下来我还是觉得用截字符的方法最保险。