java DecimalFormat类
今天去面试了,需要上机做题。题目的内容是计算一个货物订单的税费和总价格(包括税费),结果需要精确到两个小数,同时按照如下规则进行处理:
3.01 ——>3.05,
2.48——>2.50,
2.14——>2.15。
上机的时候不能上网,没有API,但是你可以查源码。这个题目有三个用例测试,而且你的运行结果必须和答案完全相等,你才能获得success。
当我做到对数据格式化的时候,我卡住了。我只记得NumberFormat类,但是不知在哪个包里,简直就是悲剧啊!
回来上网查了一篇文章,写的还可以。我就黏贴过来啦。
import java.text.DecimalFormat;
public class DoubleFormate {
public static void main(String[] args) {
java.text.DecimalFormat df=new java.text.DecimalFormat("0.00");//保留2位小数
double d1=123456789.123456;
double d2=987654321.987654321;
System.out.println("format1_d1="+df.format(d1));//输出format1_d1=123456789.12
System.out.println("format1_d2="+df.format(d2));//format1_d2=987654321.99 四舍五入
DecimalFormat dff = new DecimalFormat("#,##0.00");
System.out.println("format2_d1="+dff.format(d1));//输出:format2_d1=123,456,789.12
System.out.println("format2_d2="+dff.format(d2));//输出:format2_d2=987,654,321.99 四舍五入
}
}
主要使用的类:java.text.DecimalFormat
1。实例化对象,可以用如下两种方法:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
因为DecimalFormat继承自NumberFormat。
2。设定小数位数
系统默认小数位数为3,如:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
System.out.println(df.format(12.3456789));
输出:12.346
现在可以通过如下方法把小数为设为两位:
df.setMaximumFractionDigits(2);
System.out.println(df.format(12.3456789));
则输出为:12.35
3。将数字转化为百分比输出,有如下两种方法:
(1)
df.applyPattern("##.##%");
System.out.println(df.format(12.3456789));
System.out.println(df.format(1));
System.out.println(df.format(0.015));
输出分别为:1234.57% 100% 1.5%
(2)
df.setMaximumFractionDigits(2);
System.out.println(df.format(12.3456789*100)+"%");
System.out.println(df.format(1*100)+"%");
System.out.println(df.format(0.015*100)+"%");
输出分别为:
1,234.57% 100% 1.5%
4。设置分组大小
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
df1.setGroupingSize(2);
System.out.println(df1.format(123456789));
输出:1,23,45,67,89
还可以通过df1.setGroupingUsed(false);来禁用分组设置,如:
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
df1.setGroupingSize(2);
df1.setGroupingUsed(false);
System.out.println(df1.format(123456789));
输出:123456789
5。设置小数为必须为2位
DecimalFormat df2=(DecimalFormat) DecimalFormat.getInstance();
df2.applyPattern("0.00");
System.out.println(df2.format(1.2))
java DecimalFormat类的更多相关文章
- 引入DecimalFormat类进行数字格式化操作
引入语句:import java.text.DecimalFormat; 首先创建DecimalFormat类对象,利用类对象调用Format()方法进行格式化操作.这里有两种方法:①.Decimal ...
- DecimalFormat类
DecimalFormat类也是Format的一个子类,主要作用是格式化数字. 在格式化数字的时候比直接使用NumberFormat更加方便,因为可以直接指定按用户自定义的方式进行格式化操作,与Sim ...
- JAVA - 大数类详解
写在前面 对于ACMer来说,java语言最大的优势就是BigInteger,Bigdecimal,String三个类. 这三个类分别是高精度整数,高精度浮点数和字符串,之所以说这个是它的优势是因为j ...
- Java DecimalFormat 格式化数字
我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text. ...
- 学习笔记——Java数字处理类
1.数字格式化 使用Java.text.DecimalFormat格式化数字,一般使用其中的DecimalFormat类.如: import java.text.DecimalFormat; publ ...
- Java DecimalFormat 用法
Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text.DecimalFormat; publicclassTes ...
- [转] Java DecimalFormat 用法
我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text. ...
- Java DecimalFormat 用法(数字格式化)
我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是常用的例子: import java.tex ...
- 16、DecimalFormat类
DecimalFormat类概述 在一些金融或者银行的业务里面,会出现这样千分位格式的数字,¥123,456.00,表示人民币壹拾贰万叁仟肆佰伍拾陆元整,java.text包下提供了一个Decimal ...
随机推荐
- SSH基本管理和配置文件的使用
服务端:linl_S IP:10.0.0.15 客户端:lin_C IP:10.0.0.16 SSHD服务 SSH协议:安全外壳协议.为Secure Shell的缩写.SSH为建立在应 ...
- Java中的String和StringBuffer
在任何编程语言中,字符串都是我们编写程序时不可避免要用到的常用的数据类型之一. 对于Java初学者而言,当谈到String和StringBuffer的区别时,通常都会有些困惑. 而要弄清楚两者之间的区 ...
- JavaScript权威指南--类和模块
知识要点 每个javascript对象都是一个属性集合,相互之间没有任何联系.在javascript中也可以定义对象的类,让每个对象都共享某些属性,这种“共享”的特性是非常有用的.类的成员或实例都包含 ...
- 前端引用公共html模块方案
最近临时一个负责公司官网的妹纸请假,于是临时接手了下官网的项目,官网都是静态页面,算是很简单的,但发现页面挺多,而每个页面总有部分是和其他页面一模一样的,比如页头.页尾等,这样就导致一个地方的修改要在 ...
- HDU1598 并查集+贪心
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- 通读cheerio API-网络爬虫
所谓工欲善其事,必先利其器,所以通读了cheerio的API,顺便翻译了一遍,有些地方因为知道的比较少,不知道什么意思,保留了英文,希望各位不吝告诉我,然后一起把这个翻译完成. ###cheerio ...
- jmeter4.0---自带录制功能录制脚本
1.前言 Jmeter录制脚本有两种方式.1.通过第三方工具录制比如:Badboy,然后转化为jmeter可用的脚本:2.使用jmeter本身自带的录制脚本功能. 对于小白来说可用先使用jmeter录 ...
- Sublime text代码补全插件(支持Javascript、JQuery、Bootstrap框架)
Sublime text代码补全插件(支持Javascript.JQuery.Bootstrap框架) 插件名称:javascript-API-Completions 支持Javascript.J ...
- 通过iframe 实现upload file无刷新
<html> <head> </head> <body> <form encType="multipart/form-data&q ...
- js:关闭当前页面
var userAgent = navigator.userAgent; if (userAgent.indexOf("Firefox") != -1 || userAgent.i ...