posts - 176, comments - 60, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

JAVA中的高精度实数——BigDecimal

Posted on 2008-09-05 00:23 魔のkyo 阅读(1132) 评论(0)  编辑 收藏 引用 所属分类: JAVA
import java.io.*;
import java.util.*;
import java.math.BigDecimal;//高精度实数
/*

构造器
BigDecimal(double val) 
          Translates a double into a BigDecimal. 
BigDecimal(String val) 
          Translates the String repre sentation of a BigDecimal into a BigDecimal.

常用方法
a.add(b);
a.subtract(b);
a.multiply(b);
a.divide(b,scale,BigDecimal.ROUND_HALF_UP);
a.compareTo(b);
a.doubleValue();
a.toString();
*/

class Main{
    
static final Scanner cin=new Scanner(System.in);

    
public static void main(String[] args){
        
final BigDecimal ONE= new BigDecimal("1");
        BigDecimal a
=new BigDecimal("1.000");
        BigDecimal b
=new BigDecimal("2.1111111111111111111111111111111111111111111");
        a
=a.multiply(b);
        System.out.println(a);
        b
=a.divide(ONE,10,BigDecimal.ROUND_HALF_UP);//四舍五入到小数点后10位
        System.out.println(b.toString());
        
if(a.compareTo(b)<0){
            System.out.println(
"a<b");
        }
        
else {
            System.out.println(
"a>=b");
        }
    }
}
只有注册用户登录后才能发表评论。