Java 保留2位小数点(2种方式)
来源:互联网 发布:江南七怪 知乎 编辑:程序博客网 时间:2024/06/07 05:14
今天群里有人在处理小数点方面出了点问题,趁机回顾下保留小数点的方式,这里介绍2种,利用BigDecimal类及DecimalFormat类。
package com.huayu.java91up;import java.math.BigDecimal;import java.text.DecimalFormat;/** * Create by zxb on 2017/4/17 */public class Test { public static void main(String[] args) { System.out.println("use bigdecimal..."); BigDecimal num1 = new BigDecimal("11.015").setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal num2 = new BigDecimal("11.004").setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal num3 = new BigDecimal("11.006").setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal num4 = new BigDecimal("11.1").setScale(2, BigDecimal.ROUND_HALF_UP); System.out.println(num1); // 11.02 System.out.println(num2); // 11.00 System.out.println(num3); // 11.01 System.out.println(num4); // 11.10 System.out.println("use formatter..."); DecimalFormat df = new DecimalFormat("0.00"); System.out.println(df.format(new Double("11.015"))); System.out.println(df.format(new Double("11.004"))); System.out.println(df.format(new Double("11.006"))); System.out.println(df.format(new Double("11.1"))); }}执行结果:
同时,关于HALFDOWN和HALFUP的区别,看下API注释
从上面对比得知,两者的区别就是在处理小数点为5的情况不同。HALFUP会向上进位,HALFDOWN是向下保留。
补充一点:DecimalFormat中,#表示没有则为空,0表示如果没有则该位补0,比如0.07,用#.00,就会是".07",用0.00,会是"0.07"。
0 0
- Java 保留2位小数点(2种方式)
- 保留小数点2位,四舍五入,java
- 保留小数点后2位
- 百分比形式保留小数点后2位(且四色五入)
- float型保留小数点后2位
- 保留2位小数点 不足补零
- JS 保留小数点后面2位小数
- Double 只保留后面2位小数点
- JS 保留小数点后面2位小数
- Android 整数数据保留2位小数点
- JS 保留小数点后面2位小数
- double类型数据保留2位小数点
- JAVA中精确保留到小数点后2(n)位的办法
- (第2讲)Java小数如何保留小数点后n位
- java 小数点保留两位
- 数字格式化,格式数字保留2位小数点,格式数字自定义保留n位小数点
- Java编程:求圆的面积周长,保留小数点后面2位
- java 四舍五入 保留小数点后任意位
- SuperMap iServer Java 如何配置缓存参数
- Follow me 挑战程序与设计
- ZOJ3775-?(>_o)!
- 单链表的基本操作
- ACM n-1位数
- Java 保留2位小数点(2种方式)
- atomikos 在Windows Tomcat下使用遇到的坑
- wireshark权限不够
- 项目开发笔记
- javascript放在head和body的区别(w3c建议放在head标签中)
- 一个小demo
- Android开发之--标签选择
- AndroidStudio Frameworks detected: Android framework is detected in the project Configure
- webstorm 中使用zencoding