当前位置: 首页 > news >正文

机械行业网站怎么做seo模拟点击软件

机械行业网站怎么做,seo模拟点击软件,全国旅游景点视频大全,北京海淀区信息科技有限公司BigInteger和BigDecimal: 我们在学习JavaSE基础的时候学习过int和double,前者是整形,后者是双精度浮点数,但它们是有最大值的,也就是说,他两并不支持无限大的数字。 其范围如下所示: 因此对于…

BigInteger和BigDecimal:

我们在学习JavaSE基础的时候学习过int和double,前者是整形,后者是双精度浮点数,但它们是有最大值的,也就是说,他两并不支持无限大的数字。

其范围如下所示:

在这里插入图片描述
在这里插入图片描述

因此对于特别大的数字,Java为我们提供了两个类可用来操作,分别是BigInteger[支持任意长度的整数]BigDecimal[支持任意长度的浮点数],理论上可以存储无限长的数字只要你计算机的内存足够

创建:

new BigXXX():

public static void main(String[] args) {//注意传递的参数是字符串而不是整数或者浮点数BigInteger bigInteger=new BigInteger("111111111111111111111111111111111");System.out.println(bigInteger);BigDecimal bigDecimal=new BigDecimal("1221345676867564534.123453678675645342");System.out.println(bigDecimal);}

输出:

111111111111111111111111111111111
1221345676867564534.123453678675645342

BigXXX.ValueOf():

 public static void main(String[] args) {BigDecimal bigDecimal=BigDecimal.valueOf(12213456768678974.12);BigInteger bigInteger=BigInteger.valueOf(111111111111111L);System.out.println(bigInteger);System.out.println(bigDecimal);}

输出:

111111111111111
12213456768678974

为什么这里打印出来的bigDecimal少了我们提供的一部分呢?

问题不在BigDecimal,而在ValueOf,我们提供的是double类型的,而double类型的长度一般在15-17位因此17位以后得会被略掉因此比较好的办法还是使用构造方法的形式创建.

Scanner对象.BigXXX():

public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println(scanner.nextBigInteger());System.out.println(scanner.nextBigDecimal());}

输出:

111111111111111
111111111111111
111111111111111.32145
111111111111111.32145

方法:

add():相加

substract():相减

multiply:相乘

divide:相除

remainder():取余数

max():取最大值

min():取最小值

注意:调用BigInteger的上述运算方法时,不能直接传入整形数字,原因如下所示:

查看上述方法的源码:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

以相加为例:

BigInteger bigInteger1=new BigInteger("741258963");BigInteger bigInteger3=bigInteger1.add(BigInteger.valueOf(2));System.out.println(bigInteger3);

输出:

741258965

divideAndRemainder():得到商和余数

 public static void main(String[] args) {BigInteger bigInteger1=new BigInteger("741258963");BigInteger bigInteger2=new BigInteger("457123698");BigInteger[] bigInteger3=bigInteger1.divideAndRemainder(bigInteger2);//得到商System.out.println(bigInteger3[0]);//得到余数System.out.println(bigInteger3[1]);}

注意该方法的返回值是一个BigInteger[],数组中第一个数字是商,第二个数字是余数

在这里插入图片描述

compareTo():比较大小

public static void main(String[] args) {BigInteger bigInteger1=new BigInteger("741258963");BigInteger bigInteger2=new BigInteger("2");int result=bigInteger1.compareTo(bigInteger2);System.out.println(result);}

输出:

bigInteger1大于bigInteger2,成立返回1,否则返回-1,相等返回0

1

在这里插入图片描述

intValue():转换成int型和doubleValue():转换成double型

public static void main(String[] args) {BigInteger bigInteger2=new BigInteger("2");int num1=  bigInteger2.intValue();Double num2=  bigInteger2.doubleValue();System.out.println(num1);System.out.println(num2);}

输出:

2
2.0

上述方法对于BigDecimal对象同样适用,这里就不过多举例。

注意:BigDecimal对象的divide需要注意的地方如下所示

   public static void main(String[] args) {BigDecimal bigDecimal=new BigDecimal("3.14159");//未做任何处理BigDecimal bigDecimal1=bigDecimal.divide(BigDecimal.valueOf(2));System.out.println(bigDecimal1);//RoundingMode.HALF_UP->四舍五入BigDecimal bigDecimal2=bigDecimal.divide(BigDecimal.valueOf(2),RoundingMode.HALF_UP);System.out.println(bigDecimal2);//RoundingMode.UP->向上取整BigDecimal bigDecimal3=bigDecimal.divide(BigDecimal.valueOf(2),RoundingMode.UP);System.out.println(bigDecimal3);//RoundingMode.DOWN->向下取整BigDecimal bigDecimal4=bigDecimal.divide(BigDecimal.valueOf(2),RoundingMode.DOWN);System.out.println(bigDecimal4);}

输出:

默认保留和提供的bigDecimal对象相同的位数

1.570795
1.57080
1.57080
1.57079

实现进制之间的转换:

public static void main(String[] args) {//二进制转化为10进制int num=Integer.parseInt("001",2);System.out.println(num);//十六进制转化为10进制int num1=Integer.parseInt("D",16);System.out.println(num1);//八进制转化为10进制int num2=Integer.parseInt("00012",8);System.out.println(num2);}

输出如下所示:

1
13
10

但是当数据过大的情况下就会抛出异常:

 public static void main(String[] args) {int num3=Integer.parseInt("7418529633217965412369874",16);System.out.println(num3);}

输出如下所示:

在这里插入图片描述

那么我们可以使用大数类解决这个问题:

 public static void main(String[] args) {BigInteger bigInteger=new BigInteger("ABCDEF123",16);System.out.println(bigInteger);}

输出如下所示:

46118400291
http://www.yayakq.cn/news/420239/

相关文章:

  • php 多语言网站建设源码制作企业网站首页
  • 吴江住房城乡建设局网站山东德州网站建设哪家最专业
  • 衡水做网站推广找谁莱芜新闻直播
  • 网站开发app开发培训十大免费客户管理系统
  • 什么网站做外链优化好企业年金的作用及意义
  • 如何自己做网站模版网站收录大幅度下降
  • 重庆网站建设velpai做视频网站犯法吗
  • 网站建设的信息安全防范技术网页设计与制作教程课后题答案
  • 爱站网长尾关键词挖掘啥网站都能看的浏览器
  • 十大购物网站排行榜需要留电话号码的广告
  • 规划电子商务网站机械设备东莞网站建设
  • 网站建设如何敲图标代码烟台网站制作效果
  • 灰色 网站刷单做任务的网站
  • 网站301重定向怎么做国外客户推广网站
  • 仿做网站网站兰州装修公司哪家口碑最好
  • 网站设计英文深圳高端网站建设模版
  • 网站标题和描述优化如何优化标题关键词
  • 安徽省徽工建设集团网站建设电影网站怎么上传电影
  • 建站代理赚钱吗云南网站制作价格
  • 公司网站怎么做教程360借条平台是合法的吗
  • 建设公共网站的手续jsp网站购买空间
  • 南宁网站建设培训免费seo在线工具
  • 无锡网络公司无锡网站制作一元云淘网站开发
  • 南昌网站开发模板某一网站seo策划方案
  • 哪个网站可以领手工活在家做wordpress+v4.1
  • dw网站建设字体颜色连江网站建设服务
  • 自助下单网站怎么做美食的网站
  • 网站建设合同补充协议怎么写做网站一般注意些什么
  • 做网站都需要什么贴吧容桂企业网站建设
  • 正规的网站制作哪家好全国中小企业服务平台