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

日历

<2008年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

公告

联系Email: kyo86.dai[at]gmail[dot]com QQ: 285819504

常用链接

随笔档案

Links

搜索

  •  

最新评论

JAVA中的高精度实数——BigDecimal

Posted on 2008-09-05 00:23 魔のkyo 阅读(1318) 评论(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");
        }
    }
}
只有注册用户登录后才能发表评论。