数字处理工具类BigDecimal和DecimalFormat

Java提供的java.text.DecimalFormat类,帮助我们用最快的速度将数据格式化为我们想要的样子。例如,取两位小数

import java.math.BigDecimal;
import java.text.DecimalFormat; import org.junit.Test; public class BigNumber { /**测试DecimalFormat类*/
@Test
public void testDecimalFormat() {
double pi = 3.1415926; // 取一位整数
System.out.println(new DecimalFormat("0").format(pi));// 输出3 // 取两位整数和两位小数,整数或小数部分不足均以0填补
System.out.println(new DecimalFormat("00.00").format(pi));// 输出03.14 // 以百分比方式技术,并取三位小数
System.out.println(new DecimalFormat("#.##%").format(pi));// 输出314.16%
} /**测试BigDecimal类*/
@Test
public void testBigDecimal() {
BigDecimal b1 = new BigDecimal("321.699");
BigDecimal b2 = new BigDecimal("123.996"); System.out.println(b1.add(b2));// 加法
System.out.println(b1.subtract(b2));// 减法
System.out.println(b1.multiply(b2));// 乘法 // System.out.println(b1.divide(b2));//除法
// 除不尽会报java.lang.ArithmeticException: Non-terminating decimal expansion; no
// exact representable decimal result.
}
}

这里我没有使用main方法,是因为我用了JUnit单元测试,我用的版本是JUnit 5。

扩展:单元测试JUnit

若用eclipse 开发,可不用下载JUnit jar包,eclipse内部集成了,我们只需要引入即可,引入步骤如下:

1、选中项目,右键Build--->Add Library

2、弹出来的界面,选中 JUnit,点击 next

3、选中 Junit 的版本,一般我们都用 4.0 以上的。点击 Finish

如何运行 Junit呢?鼠标放在需要测试的方法中(被测试的方法前面要加上@Test标记),右键,Run As ---->JUnit Test

结果出现如下的绿色横条,则测试通过,红色横条,则测试失败

Java常用类库API之数字处理工具类的更多相关文章

  1. Java常用类库API之MD5简单使用

    常用类库--MD5简单使用 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash v ...

  2. Java常用类库--观察者设计模式( Observable类Observer接口)

    如果要想实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口. import java.util.* ; class House extends Obse ...

  3. Java常用类库(一) : Object 和日期类的简单使用

    顶哥说:Java是世界的,但项目不是! Java有非常多的类库,而我们不会也不用都去学习,毕竟你也仅仅掌握了你手机20%的功能却足够你使用,不是吗? 今天介绍以下类: l  Object l  Dat ...

  4. [Windows Phone]常用类库&API推荐

    原文 [Windows Phone]常用类库&API推荐 简介: 把自己的应用程序搭建在稳定的API之上,这会使得我们在开发时能把精力都集中在程序的业务逻辑之上,避免重复造轮子,并且使得程序结 ...

  5. JAVA(三)JAVA常用类库/JAVA IO

    成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...

  6. Java 常用类库与技巧【笔记】

    Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...

  7. Google的Java常用类库 Guava资料

    java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...

  8. Java判断不为空的工具类总结

    1.Java判断是否为空的工具类,可以直接使用.包含,String字符串,数组,集合等等. package com.bie.util; import java.util.Collection; imp ...

  9. Java字符串转16 进制工具类Hex.java

    Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...

随机推荐

  1. HTML,CSS,JavaScript的思维导图

    一个思维导图是把抽象的事物具体化,以一个东西为思想核心内容,映射出一系列的组成及作用 影响的内容. HTML的思维导图 HTML是一种超文本标记语言.我认为要学习一门语言首先要知道其是什么,编辑工具是 ...

  2. JavaScript 查看stack trace

    How can I get a JavaScript stack trace when I throw an exception? Edit 2 (2017): In all modern brows ...

  3. Linux网卡驱动分析

    以太网(Ethernet)是一种计算机局域网组网技术,基于IEEE 802.3标准,它规定了包括物理层的连线.电信号和介质访问层协议. Ethernet接口的实质是MAC通过MII总线控制PHY的过程 ...

  4. yield(放弃、谦逊、礼让) - 瞬时的,暂时放了马上再抢

    两个线程抢占CPU各自执行任务,代码如下: public class Demo03 { public static void main(String[] args) throws Interrupte ...

  5. CBAM: Convolutional Block Attention Module

    1. 摘要 作者提出了一个简单但有效的注意力模块 CBAM,给定一个中间特征图,我们沿着空间和通道两个维度依次推断出注意力权重,然后与原特征图相乘来对特征进行自适应调整. 由于 CBAM 是一个轻量级 ...

  6. Delphi XE2 之 FireMonkey 入门(16) - 滤镜: 实例测试

    窗体上需要 TImage.TOpenDialog 和六个按钮. unit Unit1; interface uses   System.SysUtils, System.Types, System.U ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第5节 final关键字_1_final关键字概念与四种用法

    英文的含义和程序中的含义是相同的.最终的,不可改变的

  8. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_6_迭代器的实现原理

  9. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_9_Hashtable集合

    是最早期的双列集合 同步就表示是单线程 value也不允许为空

  10. Docker安装及部署实例.Net Core

    1.什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱 ...