DecimalFormat 数据格式化类的使用小结

Java编程:数字格式化类 DecimalFormat 数字格式化场景: 1、进行金额数据展示时,保留小数点后两位。 2、进行重量数据展示时,如果小数点后为 0,则取整数。 3、生成数字编码时,要求 6 位数字,不够则以 0 补齐。 4、进行箱、盒、包的数据展示时,要求取整数。 代码如下: package org.learn.format; import java.text.DecimalFormat; /** * @author zhibo ... 阅读详情

api:DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。

import java.text.DecimalFormat;
import java.util.Random;
import java.util.Locale;
public class TestNumberFormat {
    public static void main(String[] args) {
        double pi = 3.1415927;// 圆周率
        
        
// 取一位整数
        System.out.println(new DecimalFormat("0").format(pi)); // 3
        
// 取一位整数和两位小数
        System.out.println(new DecimalFormat("0.00").format(pi)); // 3.14        
        
// 取两位整数和三位小数,整数不足部分以0填补。
        System.out.println(new DecimalFormat("00.000").format(pi)); // 03.142
        
// 取所有整数部分
        System.out.println(new DecimalFormat("#").format(pi)); // 3
        
// 以百分比方式计数,并取两位小数
        System.out.println(new DecimalFormat("#.##%").format(pi)); // 314.16%

        long c = 299792458;// 光速
        
// 显示为科学计数法,并取五位小数
        System.out.println(new DecimalFormat("#.#####E0").format(c)); // 2.99792E8
        
// 显示为两位整数的科学计数法,并取四位小数
        System.out.println(new DecimalFormat("00.####E0").format(c)); // 29.9792E7
        
// 每三位以逗号进行分隔。
        System.out.println(new DecimalFormat(",###").format(c)); // 299,792,458
        
// 将格式嵌入文本
        System.out.println(new DecimalFormat("光速大小为每秒,###米。").format(c));        //光速大小为每秒299,792,458米。
        
        
//直接截取
        System.out.println(Math.floor(24.335*100)/100);            //24.33
        
        System.out.println((int)Math.floor(23.45));        //截取整数    23
        System.out.println((int)Math.ceil(23.2));        //凑整    24
        System.out.println((int)Math.rint(23.567));        //四舍五入取整    24
        System.out.println(new DecimalFormat("0").format(25.5));        //四舍五入取整    26
        
        System.out.println(Math.random());        //随机double 0.9786833725139645
        System.out.println(new Random().nextFloat());        //随机浮点数 0.5196178
        System.out.println(new Random().nextBoolean());        //随机boolean
        
//        Locale.setDefault(Locale.ENGLISH);
//        DecimalFormat df = new DecimalFormat();
//        df.applyPattern("00.00");        
//        System.out.println(df.format(4.2355));
    }

}

转载:http://www.blogjava.net/jzone/articles/292581.html


16、数据格式化技巧与最佳实践 本文详细介绍了Java中的数据格式化技术,包括使用DecimalFormat类解析和格式化数字、printf风格的格式化、日期和时间的格式化方法(SimpleDateFormat与DateTimeFormatter),以及如何开发自定义格式化工具。通过具体代码示例和实际应用场景,帮助开发者掌握数据格式化的最佳实践,并提供了优化建议和注意事项,提升代码性能和用户体验。 阅读详情

相关推荐

DecimalFormat多种用法详解

主要为大家详细介绍了DecimalFormat的多种用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

DecimalFormat基本用法

1.保留两位小数(截断) double num = 11.255; DecimalFormat df = new DecimalFormat("#.##"); //指定RoundingMode df.setRoundingMode(RoundingMode.DOWN); String str = df.format(num); double formatNum = Double.parseDouble(str);

将军何处觅功名的博客 3万+

DDR4内存PCB设计实战:8层板Fly-by拓扑信号完整性优化

本文深入探讨了DDR4内存条在8层PCB板上采用Fly-by拓扑时的信号完整性优化实战。文章详细解析了层叠规划、阻抗控制、电源分割、等长布线及串扰抑制等关键设计要点,并强调了仿真验证的重要性,为硬件工程师提供了从理论到实践的完整设计指南与自查清单。

weixin_29296241的博客 340

java格式化数字 NumberFormat及DecimalFormat

NumberFormat帮助您格式化和解析任何区域设置的数字。您的代码可以完全独立于小数点,千位分隔符的区域设置约定,甚至是使用的特定十进制数字,或者数字格式是否为十进制。

初夏0811的博客 3万+

eQTL:连接突变与基因表达的桥梁

欢迎关注”生信修炼手册”!在高等生物中,很多的重要性状都为数量形状,比如农作物的产量,人类复杂疾病(高血液,糖尿病)等等。对于这些数量性状而言,往往受到多个基因的调控作用。为了更好的开展...

庐州月光的博客 7071

中兴交换机配置SSH登录

SSH是在传统的Telnet协议基础上发展起来的一种安全的远程登录协议。发送和接收数据时, SSH会自动对数据进行加密及解密。相比于Telnet,SSH能防止“中间人”攻击、DNS欺骗、IP 欺骗等,无论是在认证方式或者数据传输的安全性上都有很大的提高。SSH用户认证方式有3种,分别为本地(Local)认证、RADIUS认证和TACACS+认证。以表规划数据为例,说明配置SSH登录的步骤。

才怪的博客 7932

关于DecimalFormat类的数字格式化

当我们遇到小数时,必定会设置保留小数的位数,也可能会涉及数字的格式转换。 那么在Java中肯定也有这样的一个类,就是DecimalFormat类能帮助我们方便快捷的解决此类小数格式的问题。 DecimalFormat 类路径 java.text.DecimalFormat DecimalFormat 的父类也是抽象类NumberFormat 类路径 java.text.NumberFormat 很有意思的是 NumberFormat 的父类是 Format Format应该很熟悉吧,说熟悉的原因是因为他的

不要用过去的错误约束现在的自己。 4968

时序数据库避坑指南:TDengine与IoTDB在车联网场景的7个关键对比

本文对比了时序数据库TDengine与IoTDB在车联网场景下的7个关键差异,包括数据模型设计、边缘-云端协同能力、车规级函数库、存储压缩算法等。通过真实案例和性能测试,帮助企业在新能源汽车大数据处理中选择合适的时序数据库,优化存储成本和实时告警性能。

rust6ferris的博客 453

Math类、Random类、UIUD类、BigDecimal类、DecimalFormat类

本文主要内容: (1)Math类 (2)Random类 (3)UIUD类 (4)BigDecimal类 (5)DecimalFormat类 1.Math类 (1)所属的包是java.lang (2)Math构造方法私有,我们不能直接创建对象 (3)由于Math中提供的属性及方法都是static,不需要创建对象 (4)常用的方法: abs():返回给定数字的绝对值;ceil():接收为double、...

LiXingyue 295

数学建模学习(120):使用Python实现基于AHP的供应商选择分析

使用Python实现基于AHP的供应商选择分析

全栈川川 912

python乘法运算 信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

本文解析了全国青少年信息素养大赛Python编程挑战赛的乘法运算题目。题目要求通过递归算法实现两个自然数的乘法运算,并输出算式。算法分析指出可将乘法转化为累加,使用递归函数实现。程序代码展示了一个自定义函数add(),通过递归调用完成累加运算。文章还分析了考点,包括递归函数、输入处理、分支语句等编程基础知识的应用。最后强调解题方法的多样性,重点在于理解递归原理和实现题目要求。该题目难度适中,主要考查选手对递归算法的理解和编程基础能力。

青少年编程学习指导 789

DecimalFormat数据格式函数

DecimalFormat数据格式函数 class FormatDemo2{ public void format(String pattern, double value) { DecimalFormat format = new DecimalFormat(pattern); String str = format.format(value); Sys...

weixin_38168590的博客 88

cartographer ceres后端优化

这里引用一篇文章作用一:用户可以选择使用Problem::AddParameterBlock显式添加参数块;在显式添加的时候ceres会内部进行额外的正确性检查。当Problem::AddParameterBlock()不存在时,Problem::AddResidualBlock()会隐式添加参数块,因此不需要显式调用Problem::AddParameterBlock()函数。ps:类似构造函数,显式构造函数。

南北粉面馆 803

眀海棠文集之数据格式化1.0

眀海棠文集之数据格式化1.0 java.text 包允许通过与特定语言无关的方式格式化文本消息、日期和数值。1.       数据格式化相关类介绍类功能介绍java.util.*Locale表示一个语言和区域的特定组合ResourceBundleListResourceBundlePropertyRes

明海棠 1856

R语言使用survminer包的ggcompetingrisks函数可视化竞争风险的累积事件曲线、使用可视化对象的mapping属性自定义修改、配置颜色分组及线条类型

R语言使用survminer包的ggcompetingrisks函数可视化竞争风险的累积事件曲线、使用可视化对象的mapping属性自定义修改、配置颜色分组及线条类型

data+scenario+science+insight 1380

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java输出格式控制类DecimalFormat

<br />以前在面临格式控制时,总是printf里面找方法,后来发现有一个格式控制类。<br />例如数据类型为double,要求将double类型精确到小数点后一位。实现方法如下:<br />import java.text.DecimalFormat;<br />public class Test {<br /> public static void main(String[] args) {<br />     try<br />     {<br />            double d =

linygood的专栏 1287

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

DecimalFormat的用法

记一次DecimalFormat用法 这里我用到的是将浮点数类型的数字,在转换成字符串时,需要去掉小数点后的几位数. 做一下总结,以及一些基本用法 demo: float a = 3.14; 去掉小数位 String b = new DecimalFormat(“0”).format(a); //b=3 注意:在用0尽心格式化的时候,如果传入的参数当前位没有数字,会补上0 如:String b...

WangXiaoYuuuuu 881

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

DecimalFormat用于格式化数据简单使用

DecimalFormat用于格式化数据 具体使用为: DecimalFormat format = new DecimalFormat(“0.0”); 代表保留整数位以及小数一位的数据,小数位会保留0,即1.0格式后结果为1.0 若想小数位为0时不保留,为其他数字时保留,则可使用 ## ,即 DecimalFormat format = new DecimalFormat("#.#"); 使用例...

SW_LCC的博客 719

NumberFormat类 以及DecimalFormat的基本使用

转载地址:http://blog.youkuaiyun.com/hanshileiai/article/details/6705860 DecimalFormat 的基本使用 是NumberFormat 类的子类,主要的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat 更加方便,因为可以直接指定按用户自定义方式进行格式化操作,与之前讲的SimpleDateForm

u014746965的专栏 526

java中的 DecimalFormat、BigDecimal类、Random类

BigDecimal适用于财务类软件,是高精度类。 BigDecimal类的对象进行数学计算时要调用方法。 DecimaFormatl类是什么? DecimalFormat是数据格式类。 #指任意数字 ,指千分位 .表示小数 0表示不够的用0补足 DecimalFormat df = new DecimalFormat("###,###.##"); String str = df.format(12345.6); // 要用字符串变量来接收这个format后的值 打印输出str为..

weixin_47353244的博客 241

关于小数的处理工具DecimalFormat

关于小数的处理工具DecimalFormat 开发过程中,通常会遇到一个问题:我们需要将一个数值转换为格式化的数值,比:3.145678保留两位有效数字,这时候我们该用什么方法来转换呢? 这篇笔记,将教会我们如何将String、double、float格式化为我们所需要的格式(比如:保留两位小数),而我们要用到的对象就是:DecimalFormat。 1、DecimalFormat的介绍 全路径名...

qq_42828557的博客 580

海棠文集之数据格式化1.0

java.text 包允许通过与特定语言无关的方式格式化文本消息、日期和数值。1.    数据格式化相关类介绍 类    功能介绍java.util.*    Locale    表示一个语言和区域的特定组合    ResourceBundle    ListResourceBundlePropertyResourceBundle    获取本地化资源中(可以表现为类和

MaoZhua的专栏 1293

Java使用DecimalFormat进行保留截取固定小数点

本文主要是介绍如何使用DecimalFormat进行四舍五入和非四舍五入截取小数点。PS:文章来源(正好博主在对接高德逆地理编码API接口,但是接口参数对经纬度有要求:经纬度小数点后不要超过 6 位。没办法的是正常经纬度小数点后面都会超过6位数,所以只能对经纬度小数点进行截取) public static void main(String[] args) { // 经度 ...

卟在徊头的博客 2353
上一篇: Backbone JS框架指南
下一篇: chrome开发者技巧
t0591
博客等级 码龄19年 6粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值