java Double保留小数点位数

4种方法,都是四舍五入,例:

    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).doubleValue();
            System.out.println(f1);
        }
        /**
         * DecimalFormat转换最简便
         */
        public void m2() {
            DecimalFormat df = new DecimalFormat("#.00");
            System.out.println(df.format(f));
        }
        /**
         * String.format打印最简便
         */
        public void m3() {
            System.out.println(String.format("%.2f", f));
        }
        public void m4() {
            NumberFormat nf = NumberFormat.getNumberInstance();
            nf.setMaximumFractionDigits(2);
            System.out.println(nf.format(f));
        }
        public static void main(String[] args) {
            format f = new format();
            f.m1();
            f.m2();
            f.m3();
            f.m4();
        }
    }
//还有一种直接向上取整数
<H2 class="title content-title">//java:Java的取整函数</H2>    <DIV id=content class="content mod-cs-content text-content clearfix"> //Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函数,但返回值却不一样

            Math.floor()
            通过该函数计算后的返回值是舍去小数点后的数值
            如:Math.floor(3.2)返回3
            Math.floor(3.9)返回3
            Math.floor(3.0)返回3

            Math.ceil()
            ceil函数只要小数点非0,将返回整数部分+1
            如:Math.ceil(3.2)返回4
            Math.ceil(3.9)返回4
            Math.ceil(3.0)返回3 </DIV>
时间: 2024-08-11 05:45:45

java Double保留小数点位数的相关文章

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

C# Double保留小数点后面位数

Double salary1 = 10000.0; Double salary2 = 10000.12345; Double salary3 = 10000.1289; Int salary4 = 10000; string salary5 = "10000"; string salary6 = "10000.12345"; string salary7 = "10000.1289" Convert.ToDouble(salary1).ToStr

【iOS】stringWithFormat 保留小数点位数 float double

以前就见过,如下: text = [NSString stringWithFormat:@"%.1f", percentageCompleted]; 但一直没在意.刚一时好奇,查了下,原来很简单: %.1f  表示小数点一位,%.2f 表示小数点2位,依次类推. 这篇文章 ios NSString format 保留小数点 float double 解释得很详细,我只参考了一小部分,有助!分享下!

java double 保留两位小数

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

java中double四舍五入并设置小数点位数的问题

本文系转载,原文地址:http://blog.csdn.net/star_huang/article/details/7639267 今天遇到个需要将一个double类型的数据保留小数点后两位的问题.在网上搜寻的集中解决方案,copy来一下,备用 首先result_value是处理前的double get_double是用来保存我处理后的double   //方案一: get_double = (double)(Math.round(result_value*100)/100.0) //方案二:

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

java使double保留两位小数的多方法 java保留两位小数 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个结果分别为: 3.23 0.00 2.00 java保留

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

ava Double: 四舍五入并设置小数点位数

public static void main(String[] args) { // 1. 先乘后四舍五入, 再除; double d = 62.31060027198647; double d2 = Math.round(d*100)/100.0; System.out.println("通过Math取整后做除法: " + d2); // 2. 通过BigDecimal的setScale()实现四舍五入与小数点位数确定, 将转换为一个BigDecimal对象. //下面这个可行 B

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

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