四舍五入java,四舍五入法怎么算

本文目录一览:

java 四舍五入

199999.00*0.015=2999.984999….

所以想输出2999.99

必须这样

先把49变成5

然后才能四舍五入

        System.out.println(new java.math.BigDecimal(new Double(199999.00*0.015)).setScale(3,java.math.BigDecimal.ROUND_HALF_UP).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());

北大青鸟java培训:Java如何实现四舍五入运算?

背景最近接触银行项目,发现在做金额四舍五入的时候并没有传统意义上那么简单,银行为了尽量缩减在这方面的亏损,有一个单独的银行家舍入法。

传统的四舍五入运算Math.round是在原来的数字的基础上+0.5然后向下取整。

银行家舍入法舍去位的数值小于5时,直接舍去。

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

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

Java支持的四舍五入方式参数1、ROUND_UP:远离零方向舍入。

向绝对值最大的方向舍入,只要舍弃位非0即进位。

2、ROUND_DOWN:趋向零方向舍入。

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

3、ROUND_CEILING:向正无穷方向舍入。

向正最大方向靠拢。

若是正数,舍入行为类似于ROUND_UP,若为负数,舍入行为类似于ROUND_DOWN。

Math.round()方法就是使用的此模式。

4、ROUND_FLOOR:向负无穷方向舍入。

向负无穷方向靠拢。

若是正数,舍入行为类似于ROUND_DOWN;若为负数,舍入行为类似于ROUND_UP。

5、HALF_UP:最近数字舍入(5进)。

这是我们最经典的四舍五入。

6、HALF_DOWN:最近数字舍入(5舍)。

贵阳电脑培训建议在这里5是要舍弃的。

7、HAIL_EVEN:银行家舍入法。

java中小数怎么四舍五入?

按照你的要求为不确定保留几位小数的字符串做四舍五入的Java程序如下

import java.math.BigDecimal;

public class A {

public static void main(String[] args) {

String s=”0.00000999999997″;

//四舍五入,length是小数位数

int length=s.substring(s.indexOf(“.”)+1).length();

String s1=String.format(“%.”+(length-1)+”f”,new BigDecimal(s));

//去尾部0

BigDecimal bd=new BigDecimal(s1).stripTrailingZeros();

System.out.println(bd.toPlainString());

}

}

Java几种常见的四舍五入的方法

下面给你介绍3种常见的四舍五入:

// 方式一:BigDecimal方式

double f = 3.1315;

BigDecimal b = new BigDecimal(new Double(f).toString);

double f1 = b.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();

注意:这里一定不要直接使用new BigDecimal(double)的构造方法,而要使用new BigDecimal(new Double(1.1315).toString())的方式,不然会出现精确问题

// 方式二:DecimalFormat方式

//DecimalFormat默认采用了RoundingMode.HALF_EVEN这种类型,而且format之后的结果是一个字符串类型String

DecimalFormat df = new DecimalFormat(“#.000”);

System.out.println(df.format(new BigDecimal(1.0145)));//1.014

System.out.println(df.format(new BigDecimal(1.1315)));//1.132

// 方式三:

double d = 3.1415926;

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

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

java如何做到四舍五入

方法一:四舍五入

double  f  =  111231.5585;

BigDecimal  b = new BigDecimal(f);

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

方式二:

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

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

方式三:

double d = 3.1415926;

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

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

方式四:

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

fmt:formatNumber type=”number” value=”${10000.22/100}” maxFractionDigits=”0″/

java四舍五入的函数

java四舍五入的函数:Math.round

语法:

Math.round(x);

参数:

x 为一数值。

解释:

方法。返回对参数x四舍五入后所得的整数近似值。

例子:

public class MathTest {

public static void main(String[] args) {

System.out.println(“小数点后第一位=5”);

System.out.println(“正数:Math.round(11.5)=” + Math.round(11.5));

System.out.println(“负数:Math.round(-11.5)=” + Math.round(-11.5));

System.out.println();

System.out.println(“小数点后第一位5”);

System.out.println(“正数:Math.round(11.46)=” + Math.round(11.46));

System.out.println(“负数:Math.round(-11.46)=” + Math.round(-11.46));

System.out.println();

System.out.println(“小数点后第一位5”);

System.out.println(“正数:Math.round(11.68)=” + Math.round(11.68));

System.out.println(“负数:Math.round(-11.68)=” + Math.round(-11.68));

}

}

运行结果:

1、小数点后第一位=5

2、正数:Math.round(11.5)=12

3、负数:Math.round(-11.5)=-11

4、

5、小数点后第一位5

6、正数:Math.round(11.46)=11

7、负数:Math.round(-11.46)=-11

8、

9、小数点后第一位5

10、正数:Math.round(11.68)=12

11、负数:Math.round(-11.68)=-12

原创文章,作者:HMTY,如若转载,请注明出处:https://www.506064.com/n/141184.html

(0)
HMTYHMTY
上一篇 2024-10-04
下一篇 2024-10-04

相关推荐

  • 利用nl2br函数在PHP中处理换行符

    一、什么是nl2br函数 在编写Web应用程序时,程序员往往需要接受来自前端表单的用户输入。不幸的是,在不同操作系统和浏览器中,换行符的呈现方式可能会发生变化。因此,在接受用户输入…

    编程 2024-10-14
  • 提高开发效率的Android Studio设置技巧

    Android Studio是Android开发中非常流行的开发工具,它提供了许多实用的功能和设置,可以帮助开发人员提高开发效率。本文将介绍一些Android Studio的设置技…

    编程 2024-10-03
  • java获取当前线程方法,java获取当前线程信息

    本文目录一览: 1、java获得当前线程有两种方法,第一种是Thread.currentThread();谁知道另外一种? 2、java获取当前线程状态。 3、java 如何获得线…

    编程 2024-10-04
  • 从PHP对象到数组:将对象转换为数组

    一、对象和数组的区别 在PHP中,对象和数组是两个非常重要的数据类型。它们都可以用来存储数据,但是它们的本质和使用方式有一些不同。 首先,对象是由类定义的实例。它们有属性和方法,可…

    编程 2024-10-03
  • PythonRename:一款强大的文件批量重命名工具

    一、简介 PythonRename是一款基于Python语言开发的文件批量重命名工具。它提供了强大的批量重命名功能,支持多种操作方式和规则,可以方便地对大量文件进行重命名处理。 二…

    编程 2024-10-04
  • public static什么意思?

    在Java编程中, public static是常用的关键字,它们通常一起出现在方法或变量的声明中。它们用来描述代码的内部结构以及它们之间的相互关系。在本文中,我们将讨论publi…

    编程 2024-10-03
  • jwt-go详解

    一、jwt构成 JWT(JSON Web Token)是一种轻量级的身份验证方案,它具有可扩展性和易于传输的特点。JWT由三个部分构成:头部(header),载荷(payload)…

    编程 2024-10-03
  • 深入理解collectors.groupingBy

    一、基础概念 Java 8的Stream API提供了丰富的中间操作,其中collect方法可以将流转化为另一种数据结构。collect方法接受一个Collector类型的参数,C…

    编程 2024-10-04
  • python常用函数学习笔记(python中常用的函数)

    本文目录一览: 1、Python常用函数三有哪些?这7个函数使用频率最高,总算搞明白了 2、Python基础 numpy中的常见函数有哪些 3、python 十条函数 4、pyto…

    编程 2024-10-04
  • 关于linuxjavamysql的信息

    本文目录一览: 1、如何用java程序在linux中备份和还原mysql数据库 2、求大神告知 linux系统下,JAVA如何操作mysql备份和还原。求源代码~~~~测试通过的加…

    编程 2024-10-03

发表回复

登录后才能评论