Java学习笔记

java 百分数、小数互转

2018-03-08  本文已影响403人  else05

今天用到,记录一下,供自己以后查阅

一、百分数转Double
// import java.text.NumberFormat;
// import java.text.ParseException;
try {
    // 接口返回的是Number对象,但是实际是Double类型
    Double num = (Double)NumberFormat.getInstance().parse("67.89%"); // 转换的结果是67.89
    Double num2 = (Double)NumberFormat.getPercentInstance().parse("67.89%"); // 转换的结果是0.6789

    System.out.println(num);
} catch (ParseException e) {
    e.printStackTrace();
}
二、Double转百分数
// import java.text.NumberFormat;
// import java.text.ParseException;
try {
    NumberFormat percentInstance = NumberFormat.getPercentInstance();
    percentInstance.setMaximumFractionDigits(2); // 保留小数两位
    String format = percentInstance.format(0.81247); // 结果是81.25% ,最后一们四舍五入了

    System.out.println(num);
} catch (ParseException e) {
    e.printStackTrace();
}

[引用]
NumberFormat使用 getInstance 或 getNumberInstance 来获取常规数值格式。使用 getIntegerInstance 来获取整数数值格式。使用 getCurrencyInstance 来获取货币数值格式。使用 getPercentInstance 来获取显示百分比的格式。使用此格式,小数 0.53 将显示为 53%。
使用 setMinimumFractionDigits 之类的方法还可以控制数值的显示。如果想对格式化和解析进行更多的控制(或者给予用户更多的控制),可以尝试将从工厂方法获取的 NumberFormat 强制转换为 DecimalFormat。这适用于大多数语言环境;只是要记住将其放入一个 try 代码块中,以防遇到特殊情况。

NumberFormat 和 DecimalFormat 的作用在于,有一些方法控制格式化,还有一些方法控制解析。将数值格式化为字符串(format),将字符串解析为数值(parse).


参考:

上一篇下一篇

猜你喜欢

热点阅读