一、NumberUtils
方法名 描述
format(double d, int length) 将小数四舍五入后返回字符型
On Entry: double d: 需要处理的小数 如:3.73394
int length:要保留的位数
On Exit: return String返回处理后的字符小数。
format(String d, int length) 将字符型小数四舍五入后返回字符型
On Entry: String d:需要处理的小数字符串 例如”0.137540”
int length: 要保留的位数
On Exit: return String返回处理后的字符小数。
getPrecent (int a, int b,int c) 取百分比后若干位小数
On Entry: Int a: 被除数
Int b: 除数
Int c: 要保留的位数
On Exit: return String返回精确到小数点后第c位的百分比字符串。
import java.text.NumberFormat;
public class NumberUtils
{
private static final NumberUtils numberUtils = new NumberUtils();
public NumberUtils()
{
}
public static NumberUtils getInstance()
{
return numberUtils;
}
public static String format(double d, int places)
{
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(places);
nf.setMaximumFractionDigits(places);
return nf.format(d);
}
public static String format(Double d, int places)
{
return format(d.doubleValue(), places);
}
public static String format(String d, int places)
{
return format(Double.parseDouble(d), places);
}
public static String getPrecent(float a, float b, int cnt)
{
String Precent = "";
if(b == 0.0F)
{
Precent = "0";
Precent = Precent + ".";
Precent = Precent + "0";
Precent = Precent + "%";
return Precent;
}
if(a == b)
{
Precent = "100";
Precent = Precent + "%";
return Precent;
}
float result = (a * 100F) / b;
String vresult = String.valueOf(result);
int nn = vresult.indexOf(".");
if(vresult.length() >= nn + cnt + 1)
{
Precent = vresult.substring(0, nn + cnt + 1);
getInstance();
Precent = format(Precent, cnt);
} else
{
Precent = vresult;
String pointStr = Precent.substring(Precent.lastIndexOf(".") + 1, Precent.length());
for(int i = 0; i < cnt - pointStr.length(); i++)
Precent = Precent + 0;
}
Precent = Precent + "%";
return Precent;
}
}