代码编织梦想

public static void main(String[] args) {
        String[] numArr = "12345698444446615789.923423422423242991".split("");
        String numStr = "";
        for(int i = numArr.length - 1; i >= 0; i--){
            if(numArr[i].equals(".")){
                numStr = numArr[i] + numStr;
                continue;
            }
            int num = Integer.parseInt(numArr[i]);
            if(num > 4 && (i == numArr.length - 1) || num >= 10 ){
                numArr[i] = "0";
                int lastIndex = i - (numArr[i - 1].equals(".") ? 2 : 1);
                numArr[lastIndex] = Integer.parseInt(numArr[lastIndex]) + 1 + "";
            }else if(num <= 4 && (i == numArr.length - 1)){
                numArr[i] = "0";
            }

            numStr = numArr[i] + numStr;
        }

        println(numStr);
    }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33690471/article/details/129625576

java bigdecimal 与 java的四舍五入 详解-爱代码爱编程

文章出自http://blog.csdn.net/jackiehff/article/details/8582449 文章出自http://blog.csdn.net/chenssy/article/details/12719811 1.引言         借用《Effactive Java》这本书中的话,float和double类型的主

bigdecimal除法不四舍五入_BigDecimal四舍五入与保留位-爱代码爱编程

1.引言 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大

java四舍五入取整_java中的取整与四舍五入方法实例-爱代码爱编程

一.java中取整数的方式 1.直接使用强制转换 public static void roundOne(){ System.out.println("正数:(int)10.12 = " + (int)10.12); System.out.println("负数:(int)-10.12 = " + (int)-10.12); System.o

java 浮点型变整型_java中怎么将浮点型变成整型 还有java中Integer.parseInt(String)与Integer.valueOf(String)区别...-爱代码爱编程

java中怎么将浮点型变成整型 一 float a=1.1f;//定义一个浮点a int b = (int)a;//这里使用(int)方式对float进行强转,结果为1 二 float a = 1.1f;//定义一个浮点变量a String str = String.valueOf(a);//浮点变量a转换为字符串str int idx

java浮点数四舍五入_Java浮点数的精确计算及四舍五入的设置-爱代码爱编程

Java浮点数的精确计算及四舍五入的设置 四舍五入的设置 (1)、浮点数精确计算 项目中一直存在一个问题,就是每次报表统计的物资金额和实际的金额要差那么几分钱,和实际金额不一致,让客户觉得总是不那么舒服,原因是因为我们使用java的浮点类型double 来定义物资金额,并且在报表统计中我们经常要进行一些运算,但Java中浮点数(double、fl

java浮点数四舍五入_Java浮点数运算的精确度和四舍五入的问题-爱代码爱编程

浮点运算有时是不精确的,只要是超过精度能表示的范围就会产生误差。往往产生误差不是因为数的大小,而是因为数的精度,产生的结果接近但不等于想要的结果,所以在使用 float 和 double 作精确运算的时候往往采用一些方案来实现运算的准确。 Java中声明的小数默认是double类型的。double d=2.1;如果声明float f=2.1;则会报错

java整型和浮点型_Java基本的程序结构设计 整形和浮点型-爱代码爱编程

整形: int 4字节 short 2字节 long 8字节 byte 1字节 int的大小差不多是20亿。 整形计算 如果两个int进行加减乘除数学运算的时候,最终的结果仍然是int,有可能出现了溢出,那么结果就不是我们想要的了。如下: System.out.println("Integer.MAX_VALUE: " + Intege

java整型和浮点型做乘法_Java浮点型算术为什么精度不对?-爱代码爱编程

每个程序员都曾被前辈告诫过:“代码中不要直接使用double类型做任何算术处理,会存在精度的问题。可以使用JDK中自带的java.math.BigDecimal类处理”。事实也确实如此: double num1 = 0.1; double num2 = 0.2; System.out.println(num1+num2); /**num1+nu

java浮点数四舍五入,Java浮点数的精确计算及表示四舍五入的设置-爱代码爱编程

(1)、浮点数精确计算 胜利油田三流合一项目中一直存在一个问题,就是每次报表统计的物资金额和实际的金额要差那么几分钱,和实际金额不一致,让客户觉得总是不那么舒服,原因是因为我们使用java的浮点类型double来定义物资金额,并且在报表统计中我们经常要进行一些运算,但Java中浮点数(double、float)的计算是非精确计算,请看下面一个例子:

Java基础语法(浮点数四舍五入)-爱代码爱编程

Java基础语法(浮点数四舍五入) 1 String 格式化2 BigDecimal3 DecimalFormat 1 String 格式化 引用类型 String 有一个格式化方法:format(String format, Object… args),支持 float 和 double 类型: 1、参数: format:A format

Java中关于保留小数点后几位(可以四舍五入的)的方法-爱代码爱编程

文章目录 一、格式化保留小数方法1. 格式化printf输出2.DecimalFormat类3.通过运算输出二、四舍五入保留2位小数为例(1).使用BigDecimal类(2).DecimalFormat类使用(3).String.Format方法(4). 在实际开发中,我们相对一些除法后的结果进行简单的输出,或者定制型的显示效果,下面几

Java笔记整理 —— 整型与浮点型细节-爱代码爱编程

整形细节      1.Java各基本数据类型有固定的范围和字段长度,不受具体OS(操作系统)的影响,以保证Java程序的可移植性。      2.Java的整型常量默认为int型,声明long型常量须在后面加上'l'或者'L'。 int a = 100L;//这样的声明是错误的 long b = 100L;//这样的声明是正确的      3

java中的取整、四舍五入-爱代码爱编程

目录 1、直接强制转换--取整 2、Java提供的函数  参考文献 1、直接强制转换--取整 public class temp { public static void main(String[] args) { System.out.println("正数:(int)10.12 = " + (int)10.12);