第一、楼上的方法并不是面向对象的思想,根本没法在实际中用,用的话还需要修改。
第二、楼上的方法截取小数部分后,后面的小数部分会多几个数字。比如,截取123。321的小数部分后,会显示0。32100055。
我的方法完全克服了楼上方法的缺点。
我先编写一各类ApartFloat用于分离float型浮点数。用户想要分离浮点数的时候,只需调用这个类里面的两个静态方法既可。
其中,returnIntegralPart(float n)方法用于返回要分离的浮点数的整数部分;returnDecimalPart(float n)方法用于返回要分离的浮点数的小数部分。
ApartFloat类源代码:
//这个类用于分解浮点数
public class ApartFloat{
//提取浮点数的整数部分
static int returnIntegralPart(float n){
int i=(int)n;
return i;
}
//提取浮点数的小数部分
//提取小数部分时我把数字转换成字符串再进行截取
//这样做就不会出现截得的小数后面增加其他数字的现象
static String returnDecimalPart(float n){
Float m=new Float(n);
String i= String();
int a= dexOf("。
");
i= bstring(a+1);
return i;
}
}
用户可以在任何地方的任何类里调用这两个方法来分离浮点数。例如,象下面这样调用:
public class Aaa{
public static void main(String[] args){
intln("我需要一个浮点数123。
321的整数部分:"+ turnIntegralPart(123。321f));
intln("我需要一个浮点数123。321的小数部分:"+ turnDecimalPart(123。321f));
}
}
想分离谁就在括号里填谁即可,但注意一定要是float型。
运行结果如下:。
全部