java如何精确小数

1.(double) (Math.round(sd3*10000)/10000.0);

这样为保持4位

(double) (Math.round(sd3*100)/100.0);

这样为保持2位.

2.另一种办法 
import java.text.DecimalFormat;

DecimalFormat df2 = new DecimalFormat("###.00");

DecimalFormat df2 = new DecimalFormat("###.000");

System.out.println(df2.format(doube_var));

第一个为2位,第二个为3位.

时间: 2024-08-25 02:21:07

java如何精确小数的相关文章

JAVA中的小数

JAVA中的小数称为浮点数 1.有两种类型: float:单精度浮点数.4个字节. double:双精度浮点数.8个字节. 2.类型转换 容量小  ------------------------------->  容量大 byte,short,char << int << long << float << double 容量小的类型会自动向容量大的提升:同时,容量大的向小的转,会发生精度丢失. 如下,整数127赋值给float和double的变量时,

Java导出防止小数显示不全工具类

1.说明 在做项目的过程中,发现导出功能中的数据显示不全,如"0.4",会显示成".4":"-0.8"会显示成"-.8" 现在,通过以下Java工具类保证导出的数据(特别是小数)显示全 2.Java工具类 /** * @Title:DecimalPoint.java * @Package:com.you.model * @Description:解决导出时小数前的"0"被去掉的问题 * @Author: 游

Java中取小数点后两位(四种方法)

摘自http://irobot.iteye.com/blog/285537 Java中取小数点后两位(四种方法) 一 Long是长整型,怎么有小数,是double吧     java.text.DecimalFormat   df=new   java.text.DecimalFormat("#.##");     double   d=3.14159;     System.out.println(df.format(d)); 二 java.math.BigDecimal     B

java android 将小数度数转换为度分秒格式

/** * 将小数度数转换为度分秒格式 * @param numStr (主要用于图片中存储经纬度) * @return */ public static String convertToSexagesimal(String numStr){ double num = Double.parseDouble(numStr); int du=(int)Math.floor(Math.abs(num)); //获取整数部分 double temp=getdPoint(Math.abs(num))*60

第二章 Java浮点数精确计算

1.实际意义 在实际开发中,如果需要进行float或double的精确计算(尤其是财务计算),直接使用float或double是不行的(具体的例子看下边的代码的main方法的测试结果),需要使用BigDecimal. 2.代码 package com.xxx.util; import java.math.BigDecimal; /** * 浮点数精准算法 */ public class BigDecimalArithUtil { private static final int DIV_SCAL

BigDecimal 高精度计算 熟悉扩展,java除法保留小数问题

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

JAVA中精确计算金额BigDecimal

package com.chauvet.utils; import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat; /*** * * 金额 * * 如果需要精确计算,必须用String来够造BigDecimal! !! * * Java里面的商业计算,不能用float和double,因为他们无法 进行精确计算. * 但是Java的设计者给编程人员提供了一个很有用的类BigDeci

Java获取精确到毫秒的时间戳

import java.util.Date; public class Timestamp { /** 获取精确到毫秒的时间戳 * @param date * @return **/ public static Long getTimestamp(Date date){ if (null == date) { return (long) 0; } String timestamp = String.valueOf(date.getTime()); return Long.valueOf(time

java 四舍五入保留小数

// 方式一: double f = 3.1516; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // 方式二: new java.text.DecimalFormat("#.00").format(3.1415926); // #.00 表示两位小数 #.0000四位小数 以此类推… // 方式三: double d = 3.1