您的位置:首页 > 编程语言 > Java开发

JAVA 浮点数转化为百分数,分离整数和小数部分 分类: Java 2015-08-04 18:11 10人阅读 评论(0) 收藏

2015-08-04 18:11 696 查看


JAVA 浮点数转化为百分数

public class DoubleToPercentformat {

/**

* 将double类型数据转换为百分比格式,并保留小数点前IntegerDigits位和小数点后FractionDigits位

* @param d

* @param IntegerDigits

* @param FractionDigits

* @return

*/

public static String getPercentFormat(double d,int IntegerDigits,int FractionDigits){

NumberFormat nf = java.text.NumberFormat.getPercentInstance();

nf.setMaximumIntegerDigits(IntegerDigits);//小数点前保留几位

nf.setMinimumFractionDigits(FractionDigits);// 小数点后保留几位

String str = nf.format(d);

return str;

}

}

public class Convert{

public static void main(String args[]){

float  num=28.8f;

int i=(int)num;

float  f=num-i;

intln(num+"的整数部分="+i+"\t小数部分为"+f);

}

}


第一、楼上的方法并不是面向对象的思想,根本没法在实际中用,用的话还需要修改。
第二、楼上的方法截取小数部分后,后面的小数部分会多几个数字。比如,截取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型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: