数值计算以及截取math类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ht121907/article/details/85447397

math是java提供的数学类,今天被感受到了。
一、概述
Math是最终类,且构造函数被私有化,所以不允许创建对象。但是提供了一系列的静态方法—完全作为了工具类使用。
只提供了初等的运算。
二、常量
E :底数 ,是所有自然数的底数。
PI :π ,圆周率 。
三、方法
ceil() : 向上取整。 返回doouble类型的值。
floor() : 向下取整。 返回都变了类型的值。
round() : 四舍五入。返回long类型的值
max(Int arg,int arg2) : 返回最大值。
min() : 返回最小值。
pow(int arg1,int arg2) : 求第一个参数的第二个参数次幂。
random() : 返回一个 [0,1) 的随机小数 eg : 获取一个30~50之间的随机整数 Int i = (int )(Math.random*21 +30);
strictfp方法修饰符 : 要求小数在运算过程中以80位 二进制来算,但是最后仍然以64位存放结果; 小数在计算机中不能精确存储,doouble 在计算机中是以64位 二进制存储和运算。
BigDecimal类: 一个精确运算小数的类。 BigDecimal d1 = new BigDecimal(“1.2”); BigDecimal d2 = new BigDecimal(“0.99”); d1.subtract(d2);//执行减法 注意:参数必须是字符串。底层实现: 字符串底层是以字符数组存储,运算时字符数组按位相减,相当于整数运算,保证了运算的精确性。
注意: 绝大部分十进制小数转换为二进制时都是无限的,所以计算机不能精确表示和存储小数。
场景
一般我们在做数值截取的时候可能会使用转成string截取,现在还可以使用取模的形式来截取,当然需要循环操作的,结合底数pow方法进行取余数的形式,得到一个int整形的余数,为什么int不能带小数那,这个我自己理解是因为类型和字节范围。

猜你喜欢

转载自blog.csdn.net/ht121907/article/details/85447397
今日推荐