標籤: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;
}
}
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型。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
JAVA 浮點數轉化為百分數,分離整數和小數部分