java – NumberFormat setMaximumFractionDigits方法
发布时间:2020-05-24 19:37:10 所属栏目:Java 来源:互联网
导读:我正在尝试类 NumberFormat的方法和功能,我已经达到了一个奇怪的结果.我编译并运行以下程序: public static void main(String[] args) {Locale loc = Locale.US; NumberFormat nf = NumberFormat.getInstance(loc); System.out.println(Max:
|
我正在尝试类
public static void main(String[] args) {
Locale loc = Locale.US;
NumberFormat nf = NumberFormat.getInstance(loc);
System.out.println("Max: "+nf.getMaximumFractionDigits());
System.out.println("Min: "+nf.getMinimumFractionDigits());
try {
Number d = nf.parse("4527.9997539");
System.out.println(d);
// nf.setMaximumFractionDigits(4);
System.out.println(nf.format(4527.999753));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
输出是: Max: 3 Min: 0 4527.9997539 4,528 这意味着它没有考虑任何分数.如果我取消注释该行: nf.setMaximumFractionDigits(4); 输出是: Max: 3 Min: 0 4527.9997539 4,527.9998 换句话说,它运作正常.方法setMaximumFractionDigits()实际发生了什么,并且在第一种情况下它不会带来包含3个小数位的数字? 解决方法我终于找到了答案.方法setMaximumFractionDigits()仅对方法format()有效.它与parse()无关.在我的代码片段中,我在手动将小数位数设置为4之后使用方法format(),因此它会影响结果.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
