zoukankan      html  css  js  c++  java
  • java之类BigDecimal

    java中的类BigDecimal

    java.math.BigDecimal

    能表示其他普通类型不能表示的数据范围如double就表示不了超过16位的,但是该类可以。今天做到北大的ACM的1001题,先是用C++写了,后用java做,觉得java做起来简单,但是自己对java不熟悉。从现在开始好好学习学习java。

    该题就用到了java中的BigDecimal。

    不能用普通的+,-,*,/对其对象进行运算。而应该用其类中的方法。

    BigDecimal add(BigDecimal augend) :加法 

    BigDecimal subtract(BigDecimal subtrahend) :减法 

    BigDecimal divide(BigDecimal divisor) :除法    

    BigDecimal pow(int n) :乘幂

    BigDecimal multiply(BigDecimal multiplicand) :乘法

    在得到的小数,要对其小数点后面的零进行处理,用到:BigDecimal stripTrailingZeros() 返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal。

    对得到的数据用科学计数法就用:String toPlainString() 返回不带指数字段的此 BigDecimal 的字符串表示形式。通俗来讲就是直接显示,不用科学计数法表示。

    最后把写的ACM1001的题目代码(java)贴在后面,以后记住。

         

     1 import java.io.*;
    2 import java.util.*;
    3 import java.math.BigDecimal;
    4
    5 public class Main
    6 {
    7 public static void main(String args[])throws Exception
    8 {
    9 Scanner cin=new Scanner(System.in);
    10 while(cin.hasNext())
    11 {
    12 BigDecimal r=cin.nextBigDecimal();
    13 int n=cin.nextInt();
    14 r=r.pow(n).stripTrailingZeros();
    15 String m_string=r.toPlainString();
    16 if(m_string.charAt(0)=='0')
    17 m_string=m_string.substring(1);
    18 System.out.println(m_string);
    19 }
    20 }
    21 }


  • 相关阅读:
    焦点Banner效果滚动
    缓冲效果
    招商银行购物网站的产品展示效果,循环播放
    神是怎么看待计算机的呢
    Liaoning Province保三成功
    JAR文件(文件格式)
    tamarin系列之5] 植入本地方法实现
    无线上把锁:WEP、WPA无线加密方式对比
    Tamarin
    V8 Javascript 引擎设计理念
  • 原文地址:https://www.cnblogs.com/leewiki/p/2283893.html
Copyright © 2011-2022 走看看