- 浏览: 579416 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
a1641693970:
还不错,学习了
BeanUtils使用总结(二)LazyDynaBean -
zjfshowtime:
很好的办法,学习了。
ORA-28001: the password has expired -
ya654277yo:
哦,多谢分享
Apache整合Tomcat后get方式提交中文乱码问题解决 -
foolkeeper:
nice !!
jvm内存参数设定 -
tracy821:
谢谢了,找了好久才找到
关于Spring 声明式事务处理时,throws exception不回滚的问题
1) 格式化整数(把浮点数转化为整数)
NumberFormat nf = NumberFormat.getIntegerInstance();
double v=12.6;
System.out.println(nf.format(v));
输出结果13,因为自动舍入的。
2)格式化浮点数(保留两位小数,自动进位,负数也可以)
方法一:
DecimalFormat df=new DecimalFormat("#.##");
double v=12.126;
String s=df.format(v);
System.out.println(s);
输出的结果为:12.13
方法二:
double v=-32.126;
String s=v+"";
System.out.println(s.substring(0, s.indexOf(".")+3));
(不推荐使用此方法,因为如果原数不存在小数点或者小数点后只有1为会有异常)
3) 格式化浮点数(变为xx%形式)
NumberFormat nf = NumberFormat.getPercentInstance();
double s=0.6145;
System.out.println(nf.format(s));
输出61%
如果我们用下列语句输出一个数
System.out.println(123456.789);
将会在Console看到输出
123456.789
那么如何得到123,456.789这种格式化的输出呢?这里就需要用到java.text.Format这个类。不仅是数字,它还提供了货币值和百分数的格式化输出,比如0.58的百分数输出形式是58%。要获得本地的默认格式,可以用下列方法获得
NumberFormat.getNumberInstance()
NumberFormat.getCurrencyInstance()
NumberFormat.getOPercentInstance()
而要获得某个国家或地区的具体格式,可以使用参数Local.XXX,如Locale.GERMANY,Locale.UK。
NumberFormat formatter = NumberFormat.getNumberInstance(Locale.GERMANY);
import java.text.NumberFormat; 范例
import java.util.Locale;
public class FormatTest {
public static void main(String args[]) {
// 不使用格式化输出数
double d = 10000.0 / 3.0;
System.out.println("无格式化输出:" + d);
// 使用本地默认格式输出数
NumberFormat numberFormat = NumberFormat.getNumberInstance();
//numberFormat.setMaximumFractionDigits(4);
//numberFormat.setMinimumIntegerDigits(6);
String numberString = numberFormat.format(d);
System.out.println("本地默认格式输出数:" + numberString);
// 使用本地默认格式输出货币值
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
System.out.println("本地默认格式输出货币值:" + currencyFormat.format(d));
// 使用本地默认格式输出百分数
NumberFormat percentFormat = NumberFormat.getPercentInstance();
System.out.println("本地默认格式输出百分数:" + percentFormat.format(d));
// 在不同的国家和地区数字表示的格式也有区别。如德国
// 使用德国的格式化输出数
NumberFormat numberFormatG = NumberFormat
.getNumberInstance(Locale.GERMANY);
System.out.println("德国数字输出形式:" + numberFormatG.format(d));
// 使用德国货币输出形式
NumberFormat currencyFormatG = NumberFormat
.getCurrencyInstance(Locale.GERMANY);
System.out.println("德国货币输出形式:" + currencyFormatG.format(d));
// 使用美国货币输出形式
NumberFormat currencyFormatA = NumberFormat
.getCurrencyInstance(Locale.US);
System.out.println("美国货币输出形式:" + currencyFormatA.format(d));
// 使用德国百分数输出形式
NumberFormat percentFormatG = NumberFormat
.getPercentInstance(Locale.GERMANY);
System.out.println("德国百分数输出形式:" + percentFormatG.format(d));
System.exit(0);
}
}
程序输出
<!--[if !vml]--><!--[endif]-->
由于欧元符号无法在此Console输出,所以显示?
可以指定显示的最多(或最少)整数位和小数位。如
double d = 10000.0 / 3.0;
NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMaximumFractionDigits(4);
numberFormat.setMinimumIntegerDigits(6);
String numberString = numberFormat.format(d);
System.out.println(numberString);
输出:
003,333.3333。整数位不够的补零,小数截去部分四舍五入。
也可以利用NumberFormat的一个子类DecimalFormat来指定输出格式。
DecimalFormat decimalFormat = new DecimalFormat("######.0000");
String s = decimalFormat.format(d);
和前面一样,显示六个整数位和4个小数位。
下面对格式化的数字进行解析。
import java.util.Locale;
import java.text.NumberFormat;
import java.text.ParseException;
public class ParseFormat {
public static void main(String args[]) {
// 本地格式的解析
NumberFormat numberFormat1 = NumberFormat.getNumberInstance();
Number numb1 = null;
try {
numb1 = numberFormat1.parse("33,333.33");
} catch (ParseException e1) {
System.err.println(e1);
}
System.out.println(numb1);
// 以德国格式解析
NumberFormat numberFormat2 = NumberFormat
.getNumberInstance(Locale.GERMAN);
Number numb2 = null;
try {
numb2 = numberFormat2.parse("33,333.33");
} catch (ParseException e2) {
System.err.println(e2);
}
System.out.println(numb2);
System.exit(0);
}
}
程序输出:
33333.33
33.333
同样一种格式33,333.33,有人将之理解为33333.33,也有人认为它是33.333,软件国际化的重要性可见一斑
发表评论
-
BCD Conversion in java
2016-03-31 23:39 1851/** * Copyright 2010 Firat ... -
在java代码中获取JVM参数
2014-04-08 11:16 14271近日关注性能调优,关注JMX,发现java.lang.man ... -
GC日志分析配置与工具
2013-05-08 11:32 1370-verbose:gc(打印GC日志) -Xloggc:( ... -
java 实现HTTP PROXY
2012-12-06 17:21 7593日常应用中使用过很多次代理,主要停留在配置级别。 近期无意看 ... -
运行时获取方法调用堆栈信息(java)
2012-09-14 10:53 9706前几日系统流程回调时,一个方法莫名其妙被调用,无法定位调用点。 ... -
EL表达式在tomcat7.0下的new关键字不能使用
2012-08-24 17:25 4078最近生产系统部署个小应用,服务器选型tomcat7.0,一直运 ... -
xfire设置连接超时问题
2012-08-01 17:25 5162近期使用xfire作为客户端访问WS,结果因为目标主机假死 ... -
将多个对象写到一个文件
2012-07-20 17:08 1262来看一段ObjectOutputStream构造方法的源代码 ... -
多线程学习笔记:synchronized
2011-12-15 17:32 852Java语言的关键字,当它 ... -
(转)使用 Eclipse Memory Analyzer 检测内存泄漏问题
2011-12-14 18:10 1157本文是关于在开发 Talend RCP 过程中碰 ... -
多线程学习笔记:thread 线程中的sleep()、wait()、yield()、join()
2011-12-14 17:46 12891.sleep()方法 在指定时间内让当前正在执行的线程暂 ... -
jconsole监控JVM
2011-12-12 17:46 1577本地监控: Jconsole [processed] ... -
Java 6 JVM参数选项大全(中文版)
2011-11-03 15:19 1050本文 是基于最新的SUN官方 文档Java SE 6 ... -
Java实现远程屏幕监视
2011-10-19 17:40 743Robot robot = new Robot(); / ... -
java线程池 常用方法
2011-09-24 22:52 1398在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于 ... -
JAVA 调用Web Service的方法
2011-08-15 10:28 11641.使用HttpClient 用到的jar文件:comm ... -
JVM监控工具--jvmstat
2011-08-02 15:42 1286首先就是下载这个工具链接:http://java.sun.co ... -
java性能优化
2011-07-18 15:19 1117一、避免在循环条件中 ... -
jvm内存参数设定
2011-07-17 20:30 1393在开发java应用时经常出 ... -
怎样解决Java内存泄漏
2011-07-15 11:38 1468解决Java 内存泄漏 Java内存泄漏是每个 ...
相关推荐
总结来说,Java格式化XML文件涉及的主要知识点有:XML解析器的使用,如`DocumentBuilderFactory`和`DocumentBuilder`;`TransformerFactory`和`Transformer`用于XML的转换,包括设置输出属性;以及`Source`和`Result...
idea统一java格式化xml文件
java格式化文件,在myeclipse中点击windows--prefrence--输入code 导入格式化文件
Java格式化模板是Java开发中一个非常重要的工具,它能够帮助开发者按照统一的代码风格进行编程,从而提高代码的可读性和团队协作效率。在Java IDE如Eclipse、IntelliJ IDEA等中,都可以设置自定义的代码格式化模板。...
eclipse的格式化规则xml文件,这个是我根据配置需求自己配置的一个格式化规则,可以在保存时执行这个规则,保证自己的代码看起来比较美观一点
Eclipse里java的格式化模板,下载文件后直接导入到Eclipse即可
Java格式化文件就是解决这个问题的一种方法,它涉及到`formatter`和`code template`两个核心概念。 `formatter`是Java IDE(如Eclipse, IntelliJ IDEA等)中的一个功能,用于自动调整代码的缩进、空格、换行等,以...
java格式化sql组件 从hibernate中提取出来的
java 格式化格式 可以让代码更规范。
"Java Sql 格式化工具"是一个专为提升SQL代码可读性和规范性而设计的实用工具,尤其对于那些频繁编写和维护SQL语句的开发者而言,它能显著提高工作效率。本工具基于Sqlplus developer,它提供了一种将混乱无序的SQL...
Elicpse java注释模板和格式化模板
本主题聚焦于"java格式化编码文件和使用说明",旨在提供一种更高效、更符合团队规范的代码格式化方案。 首先,`Eclipse`作为流行的Java开发集成环境,虽然内置了代码格式化工具,但有时它的默认设置可能并不完全...
为了方便开发者,Java提供了多种方式来格式化日期,其中最常用的是`java.text.SimpleDateFormat`类。这个工具类允许我们自定义日期和时间的显示格式,避免了重复编写相同的代码。下面将详细介绍如何使用`...
在给定的标题“SQL格式化功能(JAVA代码)”中,我们聚焦于一个特定的Java实现,它从Hibernate库中抽取了用于SQL格式化的功能,并且不依赖任何第三方jar包。 `Hibernate`是一个流行的Java ORM(对象关系映射)框架...
在Java编程语言中,`printf`方法是`PrintStream`类的一个重要成员,它提供了类似于C语言中的格式化输出功能。这个方法允许我们以灵活的方式控制输出内容的格式,包括精度、宽度、对齐方式等。`moneytzb`可能是指特定...
在编程世界中,保持代码的一致性和可读性至关重要,这就是`Java`代码格式化和模板工具的作用。本文将深入探讨`Java`代码格式代码模板(code templates)和代码格式化器(code formatter),以及如何利用它们提升开发...
Java格式化输出.txt
在Java编程中,格式化数字是一项常见的任务,用于将数字以特定的样式显示,以便于人类阅读和理解。`NumberUtil` 类很可能就是一个专门用来处理数字格式化的工具类。在这个类中,通常会包含方法来处理小数和整数的...
"标签"进一步强调了这个工具的关键特性,包括"Java输出漂亮的SQL语句",这意味着它是一个Java环境下的解决方案,能够集成到Java项目中,通过Java代码来调用和实现SQL语句的格式化。另一个标签"SQL格式化"则明确了它...