JAVA BigDecimal初步学习
来源:互联网 发布:石大在线网络教育 编辑:程序博客网 时间:2024/05/01 11:06
上代码,粘贴自己运行比什么都清楚:
import java.math.BigDecimal;public class BigDecimalTest {/** * the reason of using BigDeciaml */public void useReason(){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100); }/** * compare */public void useReasonCompare(){BigDecimal db = new BigDecimal(0.05+0.01);System.out.println(db);System.out.println("=====================");BigDecimal db1 = new BigDecimal("0.05");BigDecimal db2 = new BigDecimal("0.01");System.out.println(db1.add(db2));}/** * accuracy test */public void accuracyTest(){BigDecimal bd= new BigDecimal(1.00);System.out.println(bd);System.out.println("==============");bd = bd.setScale(2, BigDecimal.ROUND_HALF_EVEN);//bank algorithmSystem.out.println(bd);}/** * add */public void add(){BigDecimal bd1 = new BigDecimal("1.23");BigDecimal bd2 = new BigDecimal("2.33");System.out.println(bd1.add(bd2));}/** * sub */public void sub(){BigDecimal bd1 = new BigDecimal("1.23");BigDecimal bd2 = new BigDecimal("2.33");System.out.println(bd1.subtract(bd2));}/** * mut */public void mut(){BigDecimal bd1 = new BigDecimal("1.23");BigDecimal bd2 = new BigDecimal("2.33");System.out.println(bd1.multiply(bd2));}/** * divide */public void div(){BigDecimal bd1 = new BigDecimal("-2.1331");BigDecimal bd2 = new BigDecimal("2.39877");System.out.println(bd1.divide(bd2, BigDecimal.ROUND_CEILING));System.out.println( bd1.divideToIntegralValue(bd2) );}/** * abs */public void abs(){BigDecimal bd1 = new BigDecimal("-1.2331");System.out.println(bd1.abs());}/** * doubleValue */public void doubleValue(){BigDecimal bd1 = new BigDecimal("-1.23312");System.out.println(bd1.doubleValue());}/** * doubleValue */public void compareTo(){BigDecimal bd1 = new BigDecimal("-1.23312");BigDecimal bd2 = new BigDecimal("1.23312");System.out.println(bd1.compareTo(bd2));}/** * tostring */public void tostring(){BigDecimal bd1 = new BigDecimal(1.23);System.out.println(bd1.toPlainString());System.out.println(bd1.toString());System.out.println("====");BigDecimal bd2 = new BigDecimal("-2.1331");BigDecimal bd3 = new BigDecimal("2.39877");System.out.println( bd2.divideToIntegralValue(bd3));System.out.println( bd2.divideToIntegralValue(bd3).toString());System.out.println( bd2.divideToIntegralValue(bd3).toPlainString());//不用科学计数法表示}/** * max */public void max(){BigDecimal bd2 = new BigDecimal("-2.1331");BigDecimal bd3 = new BigDecimal("2.39877");System.out.println(bd2.max(bd3));System.out.println(bd3.max(bd2));}/** * main */public static void main(String[] args){BigDecimalTest test = new BigDecimalTest();//test.useReason();//test.useReasonCompare();//test.accuracyTest();//test.add();//test.sub();//test.mut();//test.div();//test.abs();//test.doubleValue();//test.compareTo();//test.tostring();test.max();}}
补充说明:(from http://www.bdqn.cn/news/201311/11834.shtml)
Java中BigDecimal的8种舍入模式
0 0
- JAVA BigDecimal初步学习
- java 学习BigDecimal
- java 学习BigDecimal
- java BigInteger,BigDecimal学习
- Java 之 BigDecimal类学习
- java学习之BigInteger类、BigDecimal类
- java学习日记_71:BigDecimal类
- java线程初步学习
- java JNI 初步学习
- java初步jni学习
- JAVA初步学习--环境变量
- java数组初步学习
- java注解初步学习
- Java反射初步学习
- JAVA学习初步
- java学习初步记录
- java学习初步总结
- Java swing初步学习
- 普通二叉树及其遍历
- Eclipse tomcat部署访问程序一直和开发程序不符合
- 我在兰亭这三年完结篇之离开
- MaxEnt: 最大熵模型(Maximum Entropy Models)(二)
- 如何防止域名被盗
- JAVA BigDecimal初步学习
- 冒泡排序法(Java)
- 常用宏定义 #define
- UVA - 10305 Ordering Tasks
- 动态内存分配
- 别踩白块儿之禅模式 windows程序实现
- NVL2
- 用华为C8813调试LogCat不显示日志问题解决方法
- iOS中注册功能的体验探究