精华内容
下载资源
问答
  • java保留小数
    2021-04-12 14:40:13

    4种方法,都是四舍五入,例,保留4位小数:

    import java.math.BigDecimal;

    import java.text.DecimalFormat;

    import java.text.NumberFormat;

    public class Format {

    static double f = 111231.55856666666;

    public static void m1() {

    BigDecimal bg = new BigDecimal(f);

    double f1 = bg.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();

    System.out.println(f1);

    }

    /**

    * DecimalFormat转换最简便

    */

    public static void m2() {

    DecimalFormat df = new DecimalFormat("#.0000");

    System.out.println(df.format(f));

    }

    /**

    * String.format打印最简便

    */

    public static void m3() {

    System.out.println(String.format("%.4f", f));

    }

    public static void m4() {

    NumberFormat nf = NumberFormat.getNumberInstance();

    nf.setMaximumFractionDigits(4);

    System.out.println(nf.format(f));

    }

    public static void main(String[] args) {

    Format.m1();

    Format.m2();

    Format.m3();

    Format.m4();

    }

    }

    标签:

    版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

    特别注意:本站所有转载文章言论不代表本站观点!

    本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

    更多相关内容
  • 主要为大家详细介绍了java保留小数的四种实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java保留小数的方法

    千次阅读 2022-04-24 19:35:56
    Java保留2位小数


    前言

    在Java项目开发中,我遇到了对float或者double类型的数据进行运算之后保留小数位数的情况,初次遇到这个情况做个记录。


    一、保留小数位数的需求

    在做一个学生管理系统的项目的时候,遇到了计算加权成绩的需求,即需要根据学生所修的课程,以及课程的学分来计算学生的加权学业成绩,在浮点数计算过程中,产生了一长串小数,这显然不是我想存到数据库中的数据,因此需要保留一定位数,这里选择保留两位。

    二、Java保留小数位数的方法

    1.常用方法

    这个问题很常见,也很容易解决,常用的方法有如下几种:

    • BigDecimal
    • DecimalFormat
    • java.util.Formatter
    • String.format

    下面将分别介绍这四种方法

    2.方法详解

    2.1、BigDecimal

    这种方法是先将double/float类型的数据转换为BigDecimal类型,然后再使用BigDecimal类的setScale方法,设置四舍五入以及保留的小数位数,具体代码如下:

    @Test
    public void testDouble(){
        double num = 3.555555f;
        BigDecimal bd = new BigDecimal(num);
        bd = bd.setScale(4, RoundingMode.HALF_UP);
        // .getClass()获得变量的类型
        System.out.println(bd.getClass());
        System.out.println(bd);
        // 上面转换之后的bd为BigDecimal类型的数据,如果想转换为double,需要使用下面的转换方式。
        //.doubleValue将数字转换为double,Double.parseDouble()将字符串转换为double
        num = bd.doubleValue();
    }
    

    这里的两个打印的输出分别为:

    class java.math.BigDecimal
    3.5556
    

    2.2、DecimalFormat

    DecimalFormat是一种数据格式化方式,首先实例化一个数据格式化方式df,并且指定保留两位小数,然后指定四舍五入的规则,然后使用df.format()即可完成格式化,值得注意的是,df.format()之后得到的结果是String类型的数据。

    @Test
    public void testDecimalFormat(){
    	double num = 3.555555f;
        DecimalFormat df = new DecimalFormat("0.00");
        df.setRoundingMode(RoundingMode.HALF_UP);
        System.out.println(df.format(num).getClass());
        System.out.println(df.format(num));
        // Double.parseDouble将String类型的数据转换为Double类型
        num = Double.parseDouble(df.format(num));
    }
    

    两处输出为:

    class java.lang.String
    3.56
    

    2.3、java.util.Formatter

    java.util.Formatter方法最为简单,首先实例化一个Formatter对象,指定格式化的类型和数据,然后获得一个Formatter对象,再将这个对象转换为String,再转换为Double就可以啦!

    @Test
    public void testFormatter(){
        Formatter format = new Formatter().format("%.2f", num);
        // String.valueOf()和.toString方法都能转换为String,不过String.valueOf()更常用
        num = Double.parseDouble(String.valueOf(format));
    }
    

    2.4、String.format

    这种方法也非常简单,使用String.format()方法将double类型的数据转换为String类型的数据,然后再根据需要变换即可。

    @Test
    public void testStringFormat(){
        String format = String.format("%.2f", num);
        System.out.println(format.getClass());
        System.out.println(Double.parseDouble(format));
    }
    

    两处输出为:

    class java.lang.String
    3.56
    

    总结

    以上就是对Java保留几位小数方法的总结,一共四种方法:BigDecimal、DecimalFormat、java.util.Formatter和String.format,四种方法都很简单且都实现了四舍五入

    展开全文
  • Java保留小数位数两种简单方法

    千次阅读 2022-04-03 11:35:32
    整理了两种简单实用保留小数位输出的方法

    1.使用String.format进行数据格式化

     

    用该方法处理后变量转变为String类型,无法再对其进行基本的运算 。format()内容书写格式类似于c语言。

    2.调用printf()处理格式化输出

    Java中可以直接对System.out调用printf(),用法和c语言一模一样就不多赘述 

    展开全文
  • java保留小数位后n位

    2022-04-21 21:31:58
    方法一: public class test { public static void main(String[] args) { double d = 0.98649; String s=String.format...import java.text.DecimalFormat; public class test { public static void main(String

    方法一:

    public class test {
    	public static void main(String[] args) {
    		double d = 0.98649;
    		String s=String.format("%.3f",d);
    		System.out.println(s);
    	}
    
    }
    

    进位符合四舍五入规则

    方法二:

    import java.text.DecimalFormat;
    public class test {
    	public static void main(String[] args) {
    		double d = 0.2153;
    		DecimalFormat df = new DecimalFormat("0.000");
    		System.out.println(df.format(d));
    	}
    }
    

    此代码保留三位小数,"0.000"表示小数点后三位,如果写成"0.00"则保留小数点后两位。进位符合四舍五入。

    方法三:

    public class test {
    	public static void main(String[] args) {
    		double x =5.1365;
    		System.out.printf("%.2f\n",x);
    	}
    }
    

    运用类似C语言的printf输出。进位符合四舍五入。

    展开全文
  • java保留小数位,常用三种方法!!!1.java.text.DecimalFormat2.String .format("%.2f",sum)3.BigDecimal 1.java.text.DecimalFormat java.text.DecimalFormat df =new java.text.DecimalFormat("#.00"); df.format(你...
  • 本篇文章主要介绍了Java指定保留小数位数的方法,很多时候需要规定保留的小数位数,这里整理了详细的代码,有需要的小伙伴可以参考下。
  • java怎么保留小数

    千次阅读 2021-03-17 20:48:42
    java保留小数示例:/*** 1.BigDecimal常用于金额的计算,* 超过16位使用*/public void m1() {BigDecimal bg = new BigDecimal(f);double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubl...
  • 4种方法,都是四舍五入,例,保留4位小数,直接上代码importjava.math.BigDecimal;importjava.text.DecimalFormat;importjava.text.NumberFormat;publicclassFormat{staticdoublef=111231.55856666666;...
  • 主要介绍了java使double类型保留两位小数的方法,大家参考使用吧
  • 相信大家在平时做项目时,可能会有这样的业务... 那么这篇文章小编就和大家分享了利用Java保留两位小数的几种写法,文章给出了详细的示例代码,对大家的学习和理解很有帮助,有需要的朋友们下面来一起学习学习下吧。
  • Java 保留小数位时整数位0丢失问题

    千次阅读 2017-09-22 11:22:26
    Java 保留小数位时整数位0丢失问题 Java 保留三位小数位 推荐写法: java.text.DecimalFormat df =new java.text.DecimalFormat("#.###");  df.format(0.123); 特别纠正网络部分回答的错误说法: 错误写法如下...
  • java保留小数方法

    千次阅读 2018-12-26 19:52:11
    1.前言 在java的学习中,往往算法有一个是属于java的小数点位数保留...@see java保留小数点示例 */ import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class...
  • 主要介绍了java四舍五入使java保留2位小数示例,大家参考使用
  • 如代码所示:保留几位小数就在样本后面写几位0,保留时是根据四舍五入的保留的 double a = 0; double b = 1.2; double c = 1.23; double d = 1.234; double e = 1.235; double f = 1.23567; De
  • java的几种保留小数位数的方法

    千次阅读 2021-04-17 09:15:43
    java的几种保留小数位数的方法 法一:DecimalFormat public class DecimalFormatDemo { public static void main(String[] args) { double decimal=2.15545422; DecimalFormat df=new DecimalFormat("#.0000"); ...
  • 主要介绍了 java、freemarker保留两位小数的实现方法,然后给大家补充介绍了freemarker保留两位小数的详解,需要的朋友可以参考下
  • java保留小数位数

    千次阅读 2016-10-09 17:41:39
    这里面以2位小数举例 原文 http://mouselearnjava.iteye.com/blog/1961008 本文列举了几个方法:  1. 使用java.math.BigDecimal  2. 使用java.text.DecimalFormat  3. 使用java.text.NumberFormat  4...
  • 主要介绍了Java中Double保留小数位的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • * TODO 除法运算,保留小数 * @author 袁忠明 * @date 2018-4-17下午2:24:48 * @param a 被除数 * @param b 除数 * @return 商 */ public static String txfloat(int a,int b) { // TODO
  • 主要介绍了Java四舍五入时保留指定小数位数的五种方式,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
  • Java 保留几位小数

    2020-11-23 15:18:18
    java 中常见的保留几位小数的操作,通常都会用到BigDecimal 类 例如: /** * 四舍五入 */ @Test public void test() { double num = 111231.5585; BigDecimal b = new BigDecimal(num); //保留2位小数 ...
  • Java保留小数位数问题

    千次阅读 2019-02-05 16:40:36
    经常会遇到保留小数位数的问题,一次次的百度查资料,每次都只是当时记下来了,过了一段时间就又忘了,所以,为了便于以后查阅,同时也方便跟我一样遇到这类问题的盆友,在此,我总结了一部分java保留小数位数的问题...
  • java代码-计算圆的面积,保留5位小数
  • 主要介绍了 Java保留两位小数的实现方法的相关资料,需要的朋友可以参考下
  • Java)实现保留小数位的几种方法

    千次阅读 2020-02-03 19:16:45
    文章目录一、通过 BigDecimal 类实现二、通过String 实现 一、通过 BigDecimal 类实现 主要是通过 BigDecimal 类中的setScale 方法,或者转换为...其中 setScale 方法需要传入两个参数,一个是要保留的位数 newSca...
  • 文章:http://blueram.iteye.com/blog/441683 JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object...... format(String format, Objecjava保留小数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,551
精华内容 21,420
关键字:

java保留小数