java numberformat异常_java – 解析货币值失败的NumberFormat
使用Number格式的Currency实例进行语法分析时,为什么以下生成解析异常.
float f1 = 123.45678f;
Locale locFR = new Locale("fr");
NumberFormat[] nfa = new NumberFormat[4];
nfa[0] = NumberFormat.getInstance(); //default
nfa[1] = NumberFormat.getInstance(locFR); //FranceLocale
nfa[2] = NumberFormat.getCurrencyInstance(); //Default Currency
nfa[3] = NumberFormat.getCurrencyInstance(locFR); //French Currency
for (NumberFormat nf : nfa){
System.out.println("----------- " + nf.getClass().getName() + "-----------------------");
System.out.println("Default maximum fraction digits : " + nf.getMaximumFractionDigits());
System.out.println(nf.format(f1));
nf.setMaximumFractionDigits(5);
System.out.println("Maximum fraction digits updated to : " + nf.getMaximumFractionDigits());
System.out.println(nf.format(f1));
try{
nf.setMaximumFractionDigits(5);
System.out.println("parsed string: " + nf.parse("1234.56732"));
nf.setParseIntegerOnly(true);
System.out.println("after setParseIntegerOnly" + nf.parse("1234.567"));
}catch (Exception e){e.printStackTrace();};
以上的输出是
----------- java.text.DecimalFormat-----------------------
Default maximum fraction digits : 3
123.457
Maximum fraction digits updated to : 5
123.45678
parsed string: 1234.56732
after setParseIntegerOnly1234
----------- java.text.DecimalFormat-----------------------
Default maximum fraction digits : 3
123,457
Maximum fraction digits updated to : 5
123,45678
parsed string: 1234
after setParseIntegerOnly1234
----------- java.text.DecimalFormat-----------------------
Default maximum fraction digits : 2
ú123.46
Maximum fraction digits updated to : 5
ú123.45678
java.text.ParseException: Unparseable number: "1234.56732"
at java.text.NumberFormat.parse(Unknown Source)
at TwoMinuteDrillTests.doExamples(TwoMinuteDrillTests.java:859)
at TwoMinuteDrillTests.main(TwoMinuteDrillTests.java:871)
----------- java.text.DecimalFormat-----------------------
Default maximum fraction digits : 2
123,46 ñ
Maximum fraction digits updated to : 5
123,45678 ñ
java.text.ParseException: Unparseable number: "1234.56732"
at java.text.NumberFormat.parse(Unknown Source)
at TwoMinuteDrillTests.doExamples(TwoMinuteDrillTests.java:859)
at TwoMinuteDrillTests.main(TwoMinuteDrillTests.java:871)
看起来解析数字很好但是在使用两个货币实例时它很窒息:
nfa[2] = NumberFormat.getCurrencyInstance(); //Default Currency
nfa[3] = NumberFormat.getCurrencyInstance(locFR); //French Currency
还有一种方法可以找出for循环中正在处理的对象的类型是什么?我在上面的例子中使用了nf.getClass().getName(),但它总是返回泛型类型DecimalFormat.我希望能够知道它是在处理货币实例还是数字实例.
提前致谢.
java numberformat异常_java – 解析货币值失败的NumberFormat相关推荐
- java runnable 异常_Java实现多线程异常捕获Runnable的案例
这篇文章主要介绍了详解Java中多线程异常捕获Runnable的实现的相关资料,希望通过本文能帮助到大家,让大家理解掌握这样的知识,需要的朋友可以参考下 详解Java中多线程异常捕获Runnable的 ...
- java 编写异常_Java基础编程之异常处理
Java异常类是对于程序中可能出现的错误或者异常的一种处理方式.在设计程序的过程中,对于可能出现的异常错误,比如说用户输入错误,设备错误,磁盘满了或者代码错误等等,通常采用异常处理的方式来进行处理可能 ...
- java runtime 异常_Java中RuntimeException和Exception
在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常. 所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类 不 ...
- java 多层异常_Java多层嵌套异常处理的基本流程
异常是程序中的一些错误,但并不是所有的错误都是异常,错误有时候是可以避免的.异常的对象有两个来源,一是Java运行时环境自动抛出系统生成的异常,而不管你是否愿意捕获和处理,它总要被抛出!比如除数为0的 ...
- linux java url 异常_java异常处理总结
找到一个关于异常总结的很详细的文章,分享下.异常在我们编程中很重,在适当的位置,合理的处理或者抛出异常,对程序来说至关重要. 转:异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开 ...
- java 到异常_java编程中遇到的异常以及异常的一些处理
n 异常的概念 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户? 比如除法运算.读写文件操作,都可能 ...
- JAVA语言异常_Java语言中常用异常类EoFException是用来处理( )异常的类_学小易找答案...
[填空题]Java语言中常用异常类ClassNotFoundException是用来处理 ( )的异常的类 [填空题]Java语言声明 ( ) 类为会产生"严重错误"的类 [简答题 ...
- java numberformat异常_Java NumberFormat格式化float类型的bug
首先,这个NumberFormat这个类,可以格式化各种数字.你只要稍微设置一下,结果还是很理性的. 但是,他有那么一丢丢的bug,不知道你知道不? /** * 2.3F经过格式化,竟然变成2.99啦 ...
- java通用异常_Java常用异常整理
填坑,整理下Java的常用异常.正确使用异常在实际编码中非常重要,但面试中的意义相对较小,因为对异常的理解和应用很难通过几句话或几行代码考查出来,不过我们至少应答出三点:异常类的继承关系.常用异常类. ...
- java property异常_Java常见的异常和解决的办法
Java程序设计中我们经常会遇到异常,遇到异常不要浮躁,找到问题的原因解决是很容易的.我们整理了一些异常和解决的方法供大家参考. 1.java.lang.IllegalStateException: ...
最新文章
- Java机器学习库ML之三Sampling(采样)
- 日历,日期类(copy)
- python自学_为什么要选择Python怎样系统的自学并快速学习Python
- P2801 教主的魔法
- Ubuntu 16.04 下安装Firefox的Flash插件
- iostat 命令查看linux磁盘I/O
- 论文阅读:SSD: Single Shot MultiBox Detector
- 左侧固定,右侧自适应的布局方式(新增评论区大佬教的方法)
- 项目期复习:JS操作符,弹窗与调试,凝视,数据类型转换
- Python数据结构-列表
- Recorder.js HTML5+JS实现网页录音
- 解决eclipse 错误: 找不到或无法加载主类
- 北京大学计算机学硕考研分数线,2020北京大学研究生分数线汇总(含2016-2020历年复试)...
- js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)
- element table 表格实现上移、下移
- 如何控制苹果Mac电池健康管理功能?
- Augustus操作指南
- 【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】
- 中国石油大学(北京)-《 油气藏经营管理》第二阶段在线作业
- 结构-行为-样式-angularJs 指令实现滚动文字
热门文章
- lisp 天正标高_建筑设计选择 CAD 和天正画图哪个更好?
- java 回调函数的写法
- SQL Server之增删改查
- 飞利浦DR与PACS进行worklist多部位登记方法分享
- QT设计师(designer)下载安装
- RS485电路设计原理图
- Shell nohup 命令详解
- 解决Cannot resolve com.lowagie:itext:2.1.7.js6以及.net.jf.jasperresport下com.lowagie:itext标红的问题
- PMP第六版十五至尊图记忆方法
- 【Au】如何消去视频音频中的人声,提取伴奏