java之类BigDecimal,javaBigDecimal
java之类BigDecimal,javaBigDecimal
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 {
7public static void main(string args[])throws exception
8{
9scanner cin=new scanner(system.in);
10while(cin.hasnext())
11{
12bigdecimal r=cin.nextbigdecimal();
13int n=cin.nextint();
14r=r.pow(n).striptrailingzeros();
15string m_string=r.toplainstring();
16if(m_string.charat(0)=='0')
17m_string=m_string.substring(1);
18system.out.println(m_string);
19}
20}
21 }
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
相关文章
- 暂无相关文章
用户点评