四舍五入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 00:24
下一篇 2024-10-04 00:24

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论