JAVA 浮点数转化为百分数,分离整数和小数部分 分类: 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;
 }

}

pu
bl
ic 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型。

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/xieping/p/4714146.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值