金钱流量转换类
package com.mytest.TimeUtils;
import java.math.BigDecimal;
import java.text.NumberFormat;
public class MoneyOrFlowUtil {
public static String fmMoney(long amount) {
return new BigDecimal(amount).divide(new BigDecimal(100), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String fmMoneyLi(long amount) {
return new BigDecimal(amount).divide(new BigDecimal(1000), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String fmMoneyFen(long amount){
return new BigDecimal(amount).divide(new BigDecimal(100), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String fmMoneyHao(long amount) {
return new BigDecimal(amount).divide(new BigDecimal(10000), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String fmMoney(String amount) {
return new BigDecimal(amount).divide(new BigDecimal(100), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String fmMoneyLi(String amount) {
return new BigDecimal(amount).divide(new BigDecimal(1000), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
public static long fmMoneyFromCent2Li(long amount)throws Exception{
return amount * 10;
}
public static long fmMoneyFromYuan2Cent(String amount) {
return new BigDecimal(amount).multiply(new BigDecimal(100)).longValue();
}
public static long fmMoneyFromLi2Cent(long amount)throws Exception{
return new BigDecimal(amount).divide(new BigDecimal(10), 0,
BigDecimal.ROUND_HALF_UP).longValue();
}
public static long fmMoneyFromLi2Cent(String amount)throws Exception{
return new BigDecimal(amount).divide(new BigDecimal(10), 0,
BigDecimal.ROUND_HALF_UP).longValue();
}
public static long fmMoneyCent2Yuan(String strAmount) throws Exception {
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
return new BigDecimal(nf.parse(strAmount).floatValue() * 100 ).longValue();
}
public static String fmPercent(long dividend, long divisor) {
return new BigDecimal(dividend).divide(new BigDecimal(divisor), 2,
BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100))
.toString()
+ "%";
}
public static String fmPercent2(long dividend, long divisor) {
return new BigDecimal(dividend).multiply(new BigDecimal(100))
.divide(new BigDecimal(divisor), 0, BigDecimal.ROUND_HALF_UP) .toString() + "%";
}
public static String fmFlux(long flux) {
return new BigDecimal(flux).divide(new BigDecimal(1024), 2,
BigDecimal.ROUND_HALF_UP).toString();
}
public static String fmFluxKBToMBKB(long flux) {
String result = "";
if (flux / 1024 > 0) {
result = flux / 1024 + "MB";
if(0 < flux % 1024) {
result += flux % 1024 + "KB";
}
} else {
result = flux + "KB";
}
return result;
}
public static String fmFluxKBToGBMBKB(long flux) {
String result = "";
if (flux == 0) {
result = "0KB";
} else {
if (flux / 1024 / 1024 > 0) {
result = flux / 1024 / 1024 + "GB";
}
if ((flux / 1024) % 1024 > 0) {
result = result + (flux / 1024) % 1024 + "MB";
}
if (flux % 1024 > 0) {
result = result + flux % 1024 + "KB";
}
}
return result;
}
public static long fmFluxMBKBToKB(String flux) {
long result = 0;
int index = flux.indexOf("M");
if (index > 0) {
result = Long.parseLong(flux.substring(0,index)) * 1024;
index += 2;
} else {
index = 0;
}
if(-1 < flux.indexOf("KB")) {
result += Long.parseLong(flux.substring(index,flux.length() - 2));
}
return result;
}
}