项目中涉及到了BigDecimal的加、减、乘、比较大小、精确度的问题。所以在此总结一下,方便以后复习。

 //加法

 BigDecimal coins = new BigDecimal("0");

 BigDecimal one = new BigDecimal("1");

 BigDecimal two = new BigDecimal("2");

 coins =  coins.add( two  );  //coins 加 2
System.out.println( coins.doubleValue()); //输出为2.0 coins = coins.subtract( one ); //coins 减 1
System.out.println( coins.doubleValue()); //输出为1.0 coins = coins.subtract( two ); //coins 乘以 2
System.out.println( coins.doubleValue()); //输出为2.0 int i = coins .compareTo(BigDecimal.ZERO) ; //判断coins是否大于0
int k = coins .compareTo( one ) ;//如果 i =0 说明相等;i < 0 说明 coins小于 one; i > 0 说明coins > one
coins = coins.setScale(2,BigDecimal.ROUND_HALF_UP) //保存两位小数点

 

 1,java代码去除BigDecimal多余的零

private BigDecimal vipPrice;
String price = vipPrice.stripTrailingZeros().toPlainString()2,Mybaties 查询myslq中decimal时,去除多余的零 select 0 + CAST(good.vipPrice AS CHAR) AS vipPrice
from table;


BigDecimal常用的加减乘除算法、比较大小、不展示多余的零、保存两位小数点的更多相关文章

  1. BigDecimal常用的加减乘除算法、比较大小、保存两位小数点

    项目中涉及到了BigDecimal的加.减.乘.比较大小.精确度的问题.所以在此总结一下,方便以后复习. //加法 BigDecimal coins = new BigDecimal("0& ...

  2. c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对

    首先要引用一下类库:using Ionic.Zip;这个类库可以到网上下载. 下面对类库使用的封装方法: 得到指定的输入流的ZIP压缩流对象 /// <summary> /// 得到指定的 ...

  3. JavaScript实现常用的排序算法

    ▓▓▓▓▓▓ 大致介绍 由于最近要考试复习,所以学习js的时间少了 -_-||,考试完还会继续的努力学习,这次用原生的JavaScript实现以前学习的常用的排序算法,有冒泡排序.快速排序.直接插入排 ...

  4. Atitit.常用的gc算法

    Atitit.常用的gc算法 1.1. 记-清除算法1 1.2. 复制算法1 1.3. 标记-整理算法2 1.4. 分代收集算法2 1.1. 记-清除算法 最基础的收集算法,算法分为标记和清除两个阶段 ...

  5. C#中常用的排序算法的时间复杂度和空间复杂度

    常用的排序算法的时间复杂度和空间复杂度   常用的排序算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 ...

  6. JAVA常用加密解密算法Encryption and decryption

    加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...

  7. 数据结构中常用的排序算法 && 时间复杂度 && 空间复杂度

    第一部分:数据结构中常用的排序算法 数据结构中的排序算法一般包括冒泡排序.选择排序.插入排序.归并排序和 快速排序, 当然还有很多其他的排序方式,这里主要介绍这五种排序方式. 排序是数据结构中的主要内 ...

  8. Java常用的数组排序算法(面试宝典)

    这段时间有些忙,今天空闲出来给大家分享下Java中常用的数组排序算,有冒泡排序.快速排序.选择排序.插入排序.希尔算法.并归排序算法.堆排序算法,以上排序算法中,前面几种相对后面的比较容易理解一些.下 ...

  9. BigDecimal的运算——加减乘除

    BigDecimal的运算--加减乘除 1.初始化(尽量用字符串的形式初始化) BigDecimal num12 = new BigDecimal("0.005"); BigDec ...

随机推荐

  1. 安装 node.js npm,cnpm

    参考:https://blog.csdn.net/suiyuehuimou/article/details/74143436 https://www.liaoxuefeng.com/wiki/0014 ...

  2. C#进阶之WebAPI(三)

    今天复习一下WebAPI的路由知识: 首先分析一下MVC路由和WebAPI路由的区别: 在mvc里,默认的路由机制是通过URL路径去匹配控制器和Action方法的,在mvc中的默认路由定义在App_S ...

  3. 微信小程序实现折叠面板

    wxml: <view class='help'> <view class='help_item'> <view class='title' data-index='1' ...

  4. MVC全局过滤器

    Asp.NET MVC4中的全局过滤器,可以对整个项目进行全局监控. 新建一个MVC4项目,可以在global.asax文件中看到如下代码:  FilterConfig.RegisterGlobalF ...

  5. 基于Hadoop生态SparkStreaming的大数据实时流处理平台的搭建

    随着公司业务发展,对大数据的获取和实时处理的要求就会越来越高,日志处理.用户行为分析.场景业务分析等等,传统的写日志方式根本满足不了业务的实时处理需求,所以本人准备开始着手改造原系统中的数据处理方式, ...

  6. SSM框架警告/错误集合

    警告: 1.使用Eclipse的Spring Elements组件的时候发现会提示有警告:Expect at least one bean match() 解决办法:项目可以正常运行,未有报错,在其他 ...

  7. django form 和modelform样式设置

      目录 1.form通过attr设置属性 2.输入框设置表单状态 3.modelform的使用 4.结合modelform 使用for循环生成输入框 5.基于init构造方法设置样式 6.基本增删改 ...

  8. 微信小程序配置动态title

    wx.setNavigationBarTitle({ title: this.dynTitle }) 通过页面路由跳转传参 onload(opt)中的opt接受传过来的title 赋值即可

  9. NPOI 实现在已存在的Excel中任意位置开始插入任意数量行,并填充数据

    1 npoi版本2.1.3.1 2 需要添加的引用: using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using System.IO;using N ...

  10. python 利用pyttsx3文字转语音(转)

    原文链接作者 # -*- coding: utf-8 -*- import pyttsx3 engine = pyttsx3.init() with open("all.txt", ...