精华内容
下载资源
问答
  • 方法一:四舍五入double f = 111231.5585;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(2, RoundingMode.HALF_UP).doubleValue();在这里使用BigDecimal ,并且采用setScale方法来设置精确度,同时使用...

    方法一:四舍五入

    double f = 111231.5585;

    BigDecimal b = new BigDecimal(f);

    double f1 = b.setScale(2, RoundingMode.HALF_UP).doubleValue();

    在这里使用BigDecimal ,并且采用setScale方法来设置精确度,同时使用RoundingMode.HALF_UP表示使用最近数字舍入法则来近似计算。在这里我们可以看出BigDecimal和四舍五入是绝妙的搭配。

    方式二:

    java.text.DecimalFormat df =new java.text.DecimalFormat(”#.00″);

    df.format(你要格式化的数字);

    例:new java.text.DecimalFormat(”#.00″).format(3.1415926)

    #.00 表示两位小数 #.0000四位小数 以此类推…

    方式三:

    double d = 3.1415926;

    String result = String .format(”%.2f”);

    %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

    方式四:

    此外如果使用struts标签做输出的话,有个format属性,设置为format="0.00"就是保留两位小数

    例如:

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    或者

    maxFractionDigits表示保留的位数

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    展开全文
  • 导读热词下面是编程之家 jb51.cc 通过网络收集整理的代码...import java.text.DecimalFormat;public class NumberUtil {public void roundNumber(double numberToRound) {DecimalFormat df = new DecimalFormat("0....

    导读热词

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

    编程之家小编现在分享给大家,也给大家做个参考。

    import java.text.DecimalFormat;

    public class NumberUtil {

    public void roundNumber(double numberToRound) {

    DecimalFormat df = new DecimalFormat("0.000") ;

    System.out.println( "Rounded number = " + df.format( numberToRound ) ) ;

    //下面方法在java1.5和更高版本才支持

    System.out.println(String.format("Rounded number = %.3f",numberToRound));

    }

    public static void main(String[] args) {

    NumberUtil util = new NumberUtil();

    util.roundNumber(1.23856);

    }

    }

    以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    相关文章

    总结

    以上是编程之家为你收集整理的Java实现小数的四舍五入全部内容,希望文章能够帮你解决Java实现小数的四舍五入所遇到的程序开发问题。

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • 四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了。在讲解之间我们先看如下一个经典的案例:publicstaticvoidmain(String[]args){System.out.println("12.5的四舍五入值...

    四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了。在讲解之间我们先看如下一个经典的案例:

    publicstaticvoidmain(String[] args) {

    System.out.println("12.5的四舍五入值:"+ Math.round(12.5));

    System.out.println("-12.5的四舍五入值:"+ Math.round(-12.5));

    }

    Output:

    12.5的四舍五入值:13

    -12.5的四舍五入值:-12

    这是四舍五入的经典案例,也是我们参加校招时候经常会遇到的(貌似我参加笔试的时候遇到过好多次)。从这儿结果中我们发现这两个绝对值相同的数字,为何近似值会不同呢?其实这与Math.round采用的四舍五入规则来决定。

    四舍五入其实在金融方面运用的非常多,尤其是银行的利息。我们都知道银行的盈利渠道主要是利息差,它从储户手里收集资金,然后放贷出去,期间产生的利息差就是银行所获得的利润。如果我们采用平常四舍五入的规则话,这里采用每10笔存款利息计算作为模型,如下:

    四舍:0.000、0.001、0.002、0.003、0.004。这些舍的都是银行赚的钱。

    五入:0.005、0.006、0.007、0.008、0.009。这些入的都是银行亏的钱,分别为:0.005、0.004、.003、0.002、0.001。

    所以对于银行来说它的盈利应该是0.000 + 0.001 + 0.002 + 0.003 + 0.004 - 0.005 - 0.004 - 0.003 - 0.002 - 0.001 = -0.005。从结果中可以看出每10笔的利息银行可能就会损失0.005元,千万别小看这个数字,这对于银行来说就是一笔非常大的损失。面对这个问题就产生了如下的银行家涉入法了。该算法是由美国银行家提出了,主要用于修正采用上面四舍五入规则而产生的误差。如下:

    舍去位的数值小于5时,直接舍去。

    舍去位的数值大于5时,进位后舍去。

    当舍去位的数值等于5时,若5后面还有其他非0数值,则进位后舍去,若5后面是0时,则根据5前一位数的奇偶性来判断,奇数进位,偶数舍去。

    对于上面的规则我们举例说明

    11.556 = 11.56 ------六入

    11.554 = 11.55 -----四舍

    11.5551 = 11.56 -----五后有数进位

    11.545 = 11.54 -----五后无数,若前位为偶数应舍去

    11.555 = 11.56 -----五后无数,若前位为奇数应进位

    下面实例是使用银行家舍入法:

    publicstaticvoidmain(String[] args) {

    BigDecimal d = newBigDecimal(100000);//存款

    BigDecimal r = newBigDecimal(0.001875*3);//利息

    BigDecimal i = d.multiply(r).setScale(2,RoundingMode.HALF_EVEN);//使用银行家算法

    System.out.println("季利息是:"+i);

    }

    Output:

    季利息是:562.50

    在上面简单地介绍了银行家舍入法,目前java支持7中舍入法:

    1、 ROUND_UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非0即进位。

    说明:舍入位后还有非0的数字,进位后,舍去。如1.261~1.27

    2、 ROUND_DOWN:趋向零方向舍入。向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况。

    说明:舍入位后的数字直接舍去,不进位。如1.265~1.26

    3、 ROUND_CEILING:向正无穷方向舍入。向正最大方向靠拢。若是正数,舍入行为类似于ROUND_UP,若为负数,舍入行为类似于ROUND_DOWN。Math.round()方法就是使用的此模式。

    说明:向上舍入。如1.261~1.27,-1.261~-1.26

    4、 ROUND_FLOOR:向负无穷方向舍入。向负无穷方向靠拢。若是正数,舍入行为类似于ROUND_DOWN;若为负数,舍入行为类似于ROUND_UP。

    说明:向下舍入。如1.261~1.26,-1.261~-1.27

    5、 HALF_UP:最近数字舍入(5进)。这是我们最经典的四舍五入。

    说明:舍入位后的数字>=5时,进位后舍去。如1.245~1.25,1.246~1.25

    6、 HALF_DOWN:最近数字舍入(5舍)。在这里5是要舍弃的。

    说明:舍入位后的数字>5时,进位后舍去。舍入位后的数字<=5时,直接舍去。如1.245~1.24,1.243~1.24,

    1.246~1.25

    7、 HAIL_EVEN:银行家舍入法。

    提到四舍五入那么保留位就必不可少了,在java运算中我们可以使用多种方式来实现保留位。

    说明:舍入位后的数字>5,进位后舍去;舍入位后的数字<5,直接舍去;舍入位后的数字=5,看5后有非0数字,则进位后舍去,5后数字为0,则看5前的数字,5前的数字是奇数,则进位后舍去,是偶数,则直接舍去。

    保留位

    方法一:四舍五入

    doublef   =111231.5585;

    BigDecimal   b   =   newBigDecimal(f);

    doublef1   =   b.setScale(2,   RoundingMode.HALF_UP).doubleValue();

    在这里使用BigDecimal ,并且采用setScale方法来设置精确度,同时使用RoundingMode.HALF_UP表示使用最近数字舍入法则来近似计算。在这里我们可以看出BigDecimal和四舍五入是绝妙的搭配。

    方式二:

    java.text.DecimalFormat   df   =newjava.text.DecimalFormat(”#.00″);

    df.format(你要格式化的数字);

    例:new java.text.DecimalFormat(”#.00″).format(3.1415926)

    #.00 表示两位小数 #.0000四位小数 以此类推…

    方式三:

    doubled =3.1415926;

    String result = String .format(”%.2f”);

    %.2f %. 表示 小数点前任意位数   2表示两位小数 格式后的结果为f 表示浮点型。

    方式四:

    此外如果使用struts标签做输出的话,有个format属性,设置为format="0.00"就是保留两位小数

    例如:

    或者

    maxFractionDigits表示保留的位数

    展开全文
  • // 方式一:double f = 3.1516;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(2, BigDecimal.ROUND_HALF_...// 方式二:new java.text.DecimalFormat("#.00").format(3.1415926);// #.00 表示两位小数 ...

    // 方式一:

    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.1415926;

    String result = String.format("%.2f", d);

    // %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

    //方法四:

    Math.round(5.2644555 * 100) * 0.01d;

    //String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0

    以上就是小编为大家带来的java 四舍五入保留小数的实现方法的全部内容了,希望对大家有所帮助,多多支持脚本之家~

    展开全文
  • Java小数四舍五入与保留位(一)

    千次阅读 2015-07-21 10:38:52
    四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了。在讲解之间我们先看如下一个经典的案例: [java] view plaincopyprint? public static void main...
  • 在最近测试中,突然注意到默认使用DecimalFormat进行格式化时,并非我们一般认识上的四舍五入,而是一种诡异的舍入——(1)5以下舍去(2)5以上舍入(3)若前一位是奇数,5就舍入(4)如前一位是偶数,5就舍去 遇到这样...
  • ROUND_UP:往绝对值大的方向舍入舍入位后有非0数字,进位。(绝对值不会变小) ROUND_DOWN:往绝对值小的方向舍入舍入位后的位数,直接舍去。(绝对值不会变大) ROUND_CEILING :向上舍入。正数ROUND_UP,负数...
  • 做个笔记。呵呵。float input_= ((float) (Math.round(Float.parseFloat(input) * 100)) / 100); input 为要转换的变量。input_为转换后的变量。
  • 四舍五入和非四舍五入 常见保留n位小数的方式 以及Java中double和float到底可以保留到小数点后几位 下面开始正文 在Java中表示小数的有double和float 分别占8个和4个字节 主要的内容都写在代码里了 import java....
  • 四舍五入我们大家都知道是什么但在java四舍五入函数是什么如何实现float保留指定位数?具体我们来看小编整理的一些例子。例子1float f = 34.237323f;BigDecimal b = new BigDecimal(f);float f1 = b.setScale(2, ...
  • 展开全部看了回答,以及最近的摸索总结,这个回答不满意找我代码:---详细点击上边链接查看importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.text.DecimalFormat;publicclassTestDemo {...
  • 关于java 四舍五入使java保留2位小数示例讲解复制代码 代码如下:/** 测试四舍五入*/package com.icer.test;/**** @author Hanbin*/public class MyRound {public static void main(String[] args) {double num = 3....
  • java小数向上四舍五入 四舍五入应该就在眼前 (Rounding should be right at hand) In many areas, rounding that accurately follows specific rules are needed - accounting, statistics, insurance, etc. 在...
  • 2016-09-01 01:16连东英 客户经理方式一:四舍五入double f = 111231.5585;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();保留两位小数-------------------...
  • java 四舍五入保留小数的实现方法// 方式一:double f = 3.1516;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();// 方式二:new java.text.DecimalFormat("#...
  • 1、最简单的操作,验证之后是准确的四舍五入double payPercent=123.345;System.out.println((double)Math.round(payPercent*100)/100);输出结果:123.352、使用BigDecimal1、 ROUND_UP:远离零方向舍入。向绝对值...
  • 代码如下:/** 测试四舍五入*/package com.icer.test;/**** @author Hanbin*/public class MyRound {public static void main(String[] args) {double num = 3.23562;double number = 0;number = new MyRound()....
  • 下面是编程之家 jb51.cc 通过网络收集整理的代码片段...import java.text.DecimalFormat;public class NumberUtil {public void roundNumber(double numberToRound) {DecimalFormat df = new DecimalFormat("0.000"...
  • JavaJava四舍五入保留1位小数、2位小数...

    万次阅读 多人点赞 2018-10-17 08:37:01
    Java四舍五入保留1位小数的方法: import java.math.BigDecimal; public class Test { public static void main(String[] args) { double d1 = 3.02; System.out.println(d1); //利用字符串格式化的...
  • 复制代码 代码如下:/** 测试四舍五入*/package com.icer.test;/**** @author Hanbin*/public class MyRound {public static void main(String[] args) {double num = 3.23562;double number = 0;number = new ...
  • /** 测试四舍五入*/package com.icer.test;/**** @author Hanbin*/public class MyRound {public static void main(String[] args) {double num = 3.23562;double number = 0;number = new MyRound().myRound(num,2)...
  • 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;//方法一:...
  • 在最近测试中,突然注意到默认使用DecimalFormat进行格式化时,并非我们一般认识上的四舍五入,而是一种诡异的舍入——(1)5以下舍去(2)5以上舍入(3)若前一位是奇数,5就舍入(4)如前一位是偶数,5就舍去 遇到这样的...
  • 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;//方法一:...
  • 题目:怎么在四舍五入后保留两位小数,小伙伴们知道如何解决吗?下面听小编来说道说道。一般有这四种方法,例:importjava.math.BigDecimal;importjava.text.DecimalFormat;importjava.text.NumberFormat;...
  • float四舍五入保留两位小数注意的地方最近在codewars做了一道非常简单的题目,但是它却花了我20来分钟,虽然最后解决了,但是中间发觉对于java的基础实在不行,回去要好好补一下不说这么多,上题目:就是写一个方法...
  • java 四舍五入保留小数
  • java取整和四舍五入舍掉小数取整:Math.floor(2.0)=2舍掉小数取整:Math.floor(2.1)=2舍掉小数取整:Math.floor(2.5)=2舍掉小数取整:Math.floor(2.9)=2舍掉小数取整:Math.floor(-2.0)=-2舍掉小数取整:Math.floor(-2.1)=...
  • java取整和java四舍五入方法:import java.math.BigDecimal;import java.text.DecimalFormat;public class TestGetInt{public static void main(String[] args){double i=2, j=2.1, k=2.5, m=2.9;System.out.println...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,736
精华内容 694
关键字:

java小数四舍五入

java 订阅