JAVA保留两位小数(四舍五入)

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class testNumber {
	public static double num = 3.1015926;
	public static double zero = 0.00000;

	//方法一:打印最简便,永远是末尾有两位小数
	public static void function1(){
		 System.out.println(String.format("%.2f", num));
		 System.out.println(String.format("%.2f", zero));
	}

	//方法二:转换后是String类型
	public static void function2(){
		DecimalFormat df = new DecimalFormat("0.00");
		System.out.println(df.format(num));
		System.out.println(df.format(zero));
	}

	//方法三:转换后是double类型,但会省去最末位的0,只保留一位0
	public static void function3(){
		BigDecimal bg1 = new BigDecimal(num);
		double finalNum = bg1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
		System.out.println(finalNum);

		BigDecimal bg2 = new BigDecimal(zero);
		double finalZero = bg2.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
		System.out.println(finalZero);
	}

	//方法四:末尾的0都会省去 3.1001->3.1,0.0000->0
	public static void function4(){
		NumberFormat nf = NumberFormat.getNumberInstance();
		nf.setMaximumFractionDigits(2);
		System.out.println(nf.format(num));
		System.out.println(nf.format(zero));
	}

	public static void main(String args[]){
		System.out.println("function1:");
		function1();
		System.out.println("function2:");
		function2();
		System.out.println("function3:");
		function3();
		System.out.println("function4:");
		function4();
	}
}

结果展示:

时间: 2024-10-07 07:56:12

JAVA保留两位小数(四舍五入)的相关文章

java使double保留两位小数的多方法 java保留两位小数

这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为:

java保留两位小数

java保留两位小数问题: 方式一: 四舍五入 double   f   =   111231.5585; BigDecimal   b   =   new   BigDecimal(f); double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue(); 保留两位小数 ---------------------------------------------------------------   方式二: j

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal.BigDecimal所创建的是对象,我们不

JS保留两位小数 四舍五入函数

js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数. 1 <script language="javascript"> 2 document.write("<h1>JS保留两位小数例子</h1><br>"); 3 var a=2.1512131231231321; 4 document.write("原来的值:"+a+"<br>"); 5 docu

Java保留两位小数的几种做法

1.  String类型数字始终保留两位小数 public static void main(String[] args) {   DecimalFormat format = new DecimalFormat("0.00");  String abc ="100.456";  String a = format.format(new BigDecimal(abc)); System.out.println(a); } 2. 另外几种办法 原文 http://mo

Java 保留两位小数

java保留小数问题的方法: 方法一:四舍五入 使用java.Math.BigDecimal类 double d = 12.345; BigDecimal bd = new BigDecimal(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 方法二:使用java.text.DecimalFormat类 double d = 12.345; DecimalFormat dFormat = new DecimalFormat(".00"); dFor

sql 保留两位小数+四舍五入

1. ROUND(该函数,只是负责四舍五入到两位小数,但是不负责截断 只留两位小数,例如下例:) 关于ROUND函数,我们平常理解为4舍5入,如: print ROUND(13.145, 2); 结果为:13.150 2. 使用转换类型,才能达到保留两位小数位的目的: select cast(13.145 as   decimal(10,   2)) 结果为:13.15 2. 拼接%号: concat(cast(13.145 as   decimal(10,   2)),'%');结果为:13.

java保留两位小数(不四舍五入)

import java.text.DecimalFormat; import java.math.RoundingMode; class Text{ public static void main(String args[]){ DecimalFormat formater = new DecimalFormat(); formater.setMaximumFractionDigits(2); formater.setGroupingSize(0); formater.setRoundingMo

java数字保留两位小数四舍五入

import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubl