java保留小数点的几个方法

方法一: String类自带的方法 String.format("%.2f", 1.2548); "%.2f"其中的数字决定保留几位
方法二: 格式化的方法

private static final java.text.DecimalFormat df = new java.text.DecimalFormat("0.00%");
	private static final java.text.DecimalFormat df2 = new java.text.DecimalFormat("0.00");

	public static String format(Double data) {
		synchronized (df) {
			return df.format(data);
		}
	}

	public static String format2(Double data) {
		synchronized (df2) {
			return df2.format(data);
		}
	}

  

方法三:Float a =1.23466643f;
int b = (int) (a*10000);
a =(float) b/10000;
System.out.println(a);
方法四:可以不四舍五入的保留小数点 方法原理是一位一位的获取 考虑到位数为0的特殊情况
double num =1;
Integer b =(int) (num*100000);
String a =b/100000+"."
              +(b%100000>=10000?b%100000/10000:("0"))
              +(b%10000>=1000?b%10000/1000:("0"))
              +(b%1000>=100?b%1000/100:("0"))
               +(b%100>=10?b%100/10:("0"+b%10));
System.out.println(a);

原文地址:https://www.cnblogs.com/wgj-master/p/8405388.html

时间: 2024-08-01 02:24:00

java保留小数点的几个方法的相关文章

java double保留小数点的零的问题,java保留小数点问题

1.用DecimalFormat格式化,DecimalFormat df=new DecimalFormat("0.00"); System.out.println(df.format(1.2)); 追问 如果非得要使用double类型呢? 提问者评............ 2. java中double类型变量保留小数点后两位的问题 mport java.text.*; DecimalFormat df=new DecimalFormat(".##");double

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个结果分别为:

js,java,浮点数运算错误及应对方法

js,java,浮点数运算错误及应对方法 一,浮点数为什么会有运算错误 IEEE 754 标准规定了计算机程序设计环境中的二进制和十进制的浮点数自述的交换.算术格式以及方法. 现有存储介质都是2进制.2进制的进制基数是2,那么一个数字只要被因素包含大于2的质数的数除,都会产生无限循环小数.无限循环小数和无理数都无法,和非无限循环的有理数一起用同一种方式存储到存储介质上的同时还保持计算的兼容性. 对于无限循环小数,可以设计一种格式存储到介质上,但是同时又要和非无限循环的有理数能够计算,效率应该会变

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

Java并发编程:Java ConcurrentModificationException异常原因和解决方法

Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常.下面我们就来讨论以下这个异常出现的原因以及解决办法. 以下是本文目录大纲: 一.ConcurrentModificationException异常出现的原因 二.在单线程环境下的解决办法 三.在多线程环境下的解决方法 若有不

java克隆对象clone()的使用方法和作用

转自:997.html">http://www.okrs.cn/blog/news/?997.html 内容摘要 若需改动一个对象,同一时候不想改变调用者的对象.就要制作该对象的一个本地副本.这也是本地副本最常见的一种用途.若决定制作一个本地副本.仅仅需简单地使用clone()方法就可以.Clone是"克隆"的意思,即制作全然一模一样的副本.这种方法在基础类Object中定义成"protected"(受保护)模式. 但在希望克隆的不论什么衍生类中,必

转载:java保留2位小数

转载:http://blog.csdn.net/wj_j2ee/article/details/8560132 java保留两位小数问题: 方式一: 四舍五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();  保留两位小数  -----------

java保留两位小数

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

android 除法运算保留小数点

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