#BigDecimal处理

##保留两位小数

https://www.cnblogs.com/jpfss/p/8072379.html

    /**
* 保留两位小数
*/
@org.junit.Test
public void formatTest() {
double num=13.154215; //方式一
DecimalFormat df1 = new DecimalFormat("0.00");
String str = df1.format(num);
System.out.println(str); //13.15 //方式二
// #.00 表示两位小数 #.0000四位小数
DecimalFormat df2 =new DecimalFormat("#.00");
String str2 =df2.format(num);
System.out.println(str2); //13.15 //方式三
//%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
String result = String.format("%.2f", num);
System.out.println(result); //13.15
}

##四舍五入保留小数

/**
* 四舍五入保留小数点后两位,直接转成String,一般用于前端直接显示
*
* @param value
* @return
*/
public static String keep2DecimalPlaces(float value) {
BigDecimal b1 = new BigDecimal(value);
return b1.setScale(2, BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 保留小数点后两位,还返回float,一般用作后端其他的逻辑运算,
*
* @param value
* @return
*/
public static float keep2DecimalPlaces(float value) {
BigDecimal b1 = new BigDecimal(value);
return b1.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
}

##使用compareTo方法比较

BigDecimal a = new BigDecimal (101);
BigDecimal b = new BigDecimal (111); //使用compareTo方法比较
//注意:a、b均不能为null,否则会报空指针
if(a.compareTo(b) == -1){
System.out.println("a小于b");
} if(a.compareTo(b) == 0){
System.out.println("a等于b");
} if(a.compareTo(b) == 1){
System.out.println("a大于b");
} if(a.compareTo(b) > -1){
System.out.println("a大于等于b");
} if(a.compareTo(b) < 1){
System.out.println("a小于等于b");
}

##比较是否为正数

//signum()函数 判断 BigDecimal 的值
if(var.signum()==1) {
//var 大于 0 返回 1
System.out.println("正数");
} else if(var.signum()==0) {
//var 等于 0 返回 0
System.out.println("0");
//var 小于 0 返回 -1
System.out.println("负数");
}
//var 非正数
if(var.signum()!=1) {
System.out.println("非正数!");
}

【JAVA基础】数值处理的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  3. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  4. Java基础知识【下】( 转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  5. Java基础知识【上】(转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  6. java基础学习03(java基础程序设计)

    java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...

  7. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  8. 微冷的雨Java基础学习手记(一)

    使用Java理解程序逻辑 之凌波微步 船舶停靠在港湾是很安全的,但这不是造船的目的 北大青鸟五道口原玉明老师出品 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要 ...

  9. Java基础应用

    Java集合类解析 List.Map.Set三个接口,存取元素时,各有什么特点? List 以特定次序来持有元素,可有重复元素.Set 无法拥有重复元素,内部排序.Map 保存key-value值,v ...

  10. Java基础进阶整理

    Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...

随机推荐

  1. CSP-S 考前备战——常考知识点串烧

    1.树形结构 与 树形dp PS :在CSP-S 2019,CSP-J 2020,CSP-S 2020,CSP-S 2021 均有考查 此类问题的做题方法就是将问题转化成树上的问题,然后进行深度优先遍 ...

  2. 重学Java(二):对象无处不在

    前言 本系列文章内容来自于<Thinking in Java>作者的最新续作<On Java>基础卷,作者根据最新 Java 8.11.17的内容,重讲了Java的编程思想,值 ...

  3. 在路上---学习篇(一)Python 数据结构和算法 (4) --希尔排序、归并排序

    独白: 希尔排序是经过优化的插入排序算法,之前所学的排序在空间上都是使用列表本身.而归并排序是利用增加新的空间,来换取时间复杂度的减少.这俩者理念完全不一样,注定造成的所消耗的时间不同以及空间上的不同 ...

  4. Datainside数据分析,基于大数据分析学生成绩综合评价

    Datainside是一种基于大数据分析的学生成绩综合评价方法,通过对海量学生成绩数据进行深度挖掘和分析,为学生的学习表现提供全面.客观的评价.以下是对Datainside数据分析学生成绩综合评价的详 ...

  5. springboot实现反向代理,动态代理目标地址

    网上找了很多文章,各种照搬,只能自己实现 基于开源项目HTTP-Proxy-Servlet实现 开源项目地址:https://github.com/mitre/HTTP-Proxy-Servlet 1 ...

  6. WinForm窗体间传值的方法

    窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 1.公共静态变量:2.使用共有属性:3.使用委托与事件:4.通过构造函数把主窗体传递到从窗体中: 一.通过静态变量特点: ...

  7. xray+bp+echole+rad

    安装证书 burp安装证书 开启burp suite,如下图所示下载证书后输入cacert.der即可 浏览器中上传证书,设置-->隐私和安全-->管理证书,一直下一步. xray安装证书 ...

  8. 文心一言 VS 讯飞星火 VS chatgpt (154)-- 算法导论12.3 1题

    一.用go语言,给出 TREE-INSERT 过程的一个递归版本. 文心一言,代码不能运行: 下面是用 Go 语言实现一个递归版本的 TREE-INSERT 过程的代码: package main i ...

  9. Google Guava提供的特殊的Table集合

    1.Table 是个啥? 是一个特殊的映射,其中两个键可以在组合的方式被指定为单个值.它类似于创建映射的映射. 当你想使用多个键做索引的时候,你可能会用类似 Map<rowKey, Map< ...

  10. C# 获取另一程序控件,改变值,触发事件

    [DllImport("User32.dll", EntryPoint = "FindWindow")]private static extern IntPtr ...