小东Freeman + 关注

签名:我们爱我们的倒霉工作,也爱这千疮百孔的世界。

Java中小数与百分数的互相转换

发表于 2个月前   395次查看    0评论  4 赞

一、百分数转小数

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

} catch (ParseException e) {
    e.printStackTrace();
}

二、小数转百分数

try {
    NumberFormat percentInstance = NumberFormat.getPercentInstance();
    percentInstance.setMaximumFractionDigits(2); // 保留小数两位
    String format = percentInstance.format(0.81247); // 结果是81.25% ,最后一们四舍五入了
} catch (ParseException e) {
    e.printStackTrace();
}


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

4人已赞


本文由Fun言网 – 小东Freeman创作,转载请务必附上本文链接和出处,欢迎参与我们的付费投稿计划


你还没有登录,请先 登录注册!
文章评论0