java 分转元与元转分实现操作

分转元

private String fenToYuan(String amount){
  NumberFormat format = NumberFormat.getInstance();
  try{
    Number number = format.parse(amount);
    double temp = number.doubleValue() / 100.0;
    format.setGroupingUsed(false);
    // 设置返回的小数部分所允许的最大位数
    format.setMaximumFractionDigits(2);
    amount = format.format(temp);
  } catch (ParseException e){
    e.printStackTrace();
  }
  return amount;
}

转换为分

private String yuanToFen(String amount){
  NumberFormat format = NumberFormat.getInstance();
  try{
    Number number = format.parse(amount);
    double temp = number.doubleValue() * 100.0;
    format.setGroupingUsed(false);
    // 设置返回数的小数部分所允许的最大位数
    format.setMaximumFractionDigits(0);
    amount = format.format(temp);
  } catch (ParseException e){
    e.PrintStackTrace();
  }
  return amount;
}

补充:java 分转元 decimal格式化

我就废话不多说了,大家还是直接看代码吧~

public class NumberUtils {
  public static String format(double f) {
    DecimalFormat df = new DecimalFormat("#.##");
    return df.format(f) ;
  }
  public static String fenToYuan(int f) {
    return format(f/100.0) ;
  }
  public static void main(String[] args) {
    System.out.println(fenToYuan(3));
    System.out.println(fenToYuan(33));
    System.out.println(fenToYuan(333));
    System.out.println(fenToYuan(3333));
    System.out.println(fenToYuan(33333));
  }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

你可能感兴趣的:(java 分转元与元转分实现操作)