• 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 }


  • 相关阅读:
    IDEA开发常用快捷键
    常见操作系统的分类
    预科班第四次考核总结
    博客园使用office 365写博客
    大三上学期十二周总结
    python循环和布尔表达式总结
    灵活运用绑定变量---declare匿名块使用绑定变量
    Oracle 10G强大的SQL优化工具:SQL Tuning Advisor
    40个DBA日常维护的SQL脚本--1113
    awr相关指标解析
  • 原文地址:https://www.cnblogs.com/leewiki/p/2283893.html
Copyright © 2020-2023  润新知