我是靠谱客的博主 精明小鸭子,最近开发中收集的这篇文章主要介绍java中描述价格_JAVA中价格金额的存储类型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

标签:pre   等于   pac   额的   pack   应该   multi   tip   sub

在java项目中,我们会遇到价格、金额的数据,这时候我们java中应该用BigDecimal类型,数据库用decimal类型, 长度可以自定义, 如18; 小数点我们项目中用的是2, 保留2位小数. 此外还要注意的就是默认值, 一定写成0.00, 不要用默认的NULL, 否则在进行加减排序等操作时, 会带来转换的麻烦。

以下是一些换算代码

packagecom.bigdecimal;importjava.math.BigDecimal;importjava.math.RoundingMode;public classTest {public static voidmain(String[] args) {

BigDecimal num=new BigDecimal("2");

BigDecimal num1=new BigDecimal("0.01");//加法

System.out.println(num.add(num1));//减法

System.out.println(num.subtract(num1));//乘法

System.out.println(num.multiply(num1));//除法

System.out.println(num.divide(num1, RoundingMode.HALF_UP));//比较两个数大小

if (num.compareTo(num1)==-1){

System.out.println(num+"小于"+num1);

}else if (num.compareTo(num1)==0){

System.out.println(num+"等于"+num1);

}else if (num.compareTo(num1)==1){

System.out.println(num+"大于"+num1);

}//精度换算

BigDecimal num2=new BigDecimal("4.281");//删除多余的小数位

System.out.println(num2.setScale(2,BigDecimal.ROUND_DOWN));//直接进位

System.out.println(num2.setScale(2,BigDecimal.ROUND_UP));//四舍五入

System.out.println(num2.setScale(2,BigDecimal.ROUND_HALF_UP));//五舍六入

System.out.println(num2.setScale(2,BigDecimal.ROUND_HALF_DOWN));

}

}

结果

2.01

1.99

0.02

200

2大于0.01

4.28

4.29

4.28

4.28

JAVA中价格金额的存储类型

标签:pre   等于   pac   额的   pack   应该   multi   tip   sub

最后

以上就是精明小鸭子为你收集整理的java中描述价格_JAVA中价格金额的存储类型的全部内容,希望文章能够帮你解决java中描述价格_JAVA中价格金额的存储类型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部