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

网站建设 业务员小程序推广的十种方式

网站建设 业务员,小程序推广的十种方式,资中网站建设,台州网红桥系列文章目录 java中BigDecimal的介绍及使用,BigDecimal格式化,BigDecimal常见问题java中BigDecimal的介绍及使用(二) 文章目录 系列文章目录一、前言二、BigDecimal提供的方法2.1、stripTrailingZeros() 去除小数尾部所有的02.2、int signum()2.3、int…

系列文章目录

  • java中BigDecimal的介绍及使用,BigDecimal格式化,BigDecimal常见问题
  • java中BigDecimal的介绍及使用(二)

文章目录

  • 系列文章目录
  • 一、前言
  • 二、BigDecimal提供的方法
    • 2.1、stripTrailingZeros() 去除小数尾部所有的0
    • 2.2、int signum()
    • 2.3、int scale()
    • 2.4、intValue()
    • 2.5、intValueExact()
    • 2.6、unscaledValue()
    • 2.7、remainder(BigDecimal divisor)
    • 2.8、divideAndRemainder(BigDecimal divisor)
  • 三、进阶
    • 3.1、获取BigDecimal整数部分、小数部分、整数位数、小数位数

一、前言

在上一篇文章 《java中BigDecimal的介绍及使用,BigDecimal格式化,BigDecimal常见问题 》 中主要介绍了BigDecimal的加减乘除运算及格式化方面的使用,本篇主要介绍其他相关的内容。

二、BigDecimal提供的方法

加减乘除等常用的方法在上一篇中已经提过,本篇不再重复写,主要讲一下其他可能用到的方法

方法含义
BigDecimal stripTrailingZeros()去除小数尾部所有的0,并返回一个BigDecimal类型的数据,不能保证不是科学计数法
int signum()返回BigDecimal的正负号, 1:正数 0:零 -1:负数
int scale()该方法返回此BigDecimal的小数位数。对于零或正值,小数位数是小数点右边的位数。对于负值,数字的未标度值乘以十,即标度取反的幂。
int intValue()返回int数值,小数点后面的数值直接省略
int intValueExact()返回int数值,小数点后面的数值直接省略,若BigDecimal对象的值超出int类型取值范围,抛出异常
BigInteger toBigInteger()返回BigInteger数值,BigInteger理论上是负无穷到正无穷之间
BigInteger unscaledValue()此方法返回一个BigInteger,其值是此BigDecimal值的未缩放值。
divide(BigDecimal)BigDecimal对象中的值相除,返回BigDecimal对象。该方法可能会遇到无限精度问题,会抛出异常,使用时需注意。详细见上一篇文章的无限精度的坑
BigDecimal remainder(BigDecimal divisor)返回当前BigDecimal对象除以divisor后的余数。 被除数divisor不能是0否则抛出异常
BigDecimal[] divideAndRemainder(BigDecimal divisor)返回当前BigDecimal对象除以divisor后的商和余数,以数组形式返回。被除数divisor不能是0否则抛出异常

int、BigInteger、long取值范围

类型取值范围
int-2,147,483,648 到 2,147,483,647
long-9223372036854775808~9223372036854775807

BigInteger 任意大的整数,其取值范围在负无穷到正无穷之间,原则上是,只要你的计算机的内存足够大,可以有无限位的, 当数值超过long之后就要用BigInteger进行处理了

2.1、stripTrailingZeros() 去除小数尾部所有的0

BigDecimal stripTrailingZeros() 去除小数尾部所有的0,并返回一个BigDecimal类型的数据,不能保证不是科学计数法
0.20—>0.2
10.00—>10
100—>100

public static void main(String[] args) {BigDecimal a= new BigDecimal("10.000");BigDecimal b = new BigDecimal("100000");BigDecimal c = new BigDecimal("10.10");System.out.println(a.stripTrailingZeros().toPlainString());//10System.out.println(b); //100000System.out.println(b.stripTrailingZeros()); //1E+5   注意:返回的值可能已经是个科学计数法了System.out.println(c.stripTrailingZeros().toPlainString());//10.1
}

当stripTrailingZeros()返回科学计数法时,可以通过toPlainString()方法,不使用科学计数法进行输出。

2.2、int signum()

int signum() 返回BigDecimal的正负号, 1:正数 0:零 -1:负数 用于判断BigDecimal对象是正数,负数,还是零

public static void main(String[] args) {BigDecimal a= new BigDecimal("10");BigDecimal b = new BigDecimal("-5");BigDecimal c = new BigDecimal("0");System.out.println(a.signum());//1System.out.println(b.signum());//-1System.out.println(c.signum());//0
}

2.3、int scale()

int scale() 该方法返回此BigDecimal的小数位数。

  • 对于零或正值,小数位数是小数点右边的位数。
  • 对于负值,数字的未标度值乘以十,即标度取反的幂。 注意:当BigDecimal的对象为科学计数法时,scale的值不一定等于小数位数
public static void main(String[] args) {BigDecimal a= new BigDecimal("10.00");BigDecimal b = new BigDecimal("-5.1");BigDecimal c = new BigDecimal("-174");BigDecimal d = new BigDecimal("-1234500");System.out.println(a.scale());//2System.out.println(b.scale());//1System.out.println(c.scale());//0System.out.println(d+"====="+d.scale());//-1234500=====0System.out.println(d.stripTrailingZeros()+"====="+d.stripTrailingZeros().scale());//-1.2345E+6=====  -2  注意:当BigDecimal的对象为科学计数法时,scale的值不一定等于小数位数
}

2.4、intValue()

int intValue() 返回int数值,小数点后面的数值直接省略

注意

  • int类型的取值范围是-2,147,483,648 到 2,147,483,647所以当超过这个数值时会从负值开始继续转换
  • 可以使用intValueExact()方法,当超出int取值范围后会抛异常
public static void main(String[] args) {BigDecimal a= new BigDecimal("2999999999.99");BigDecimal b = new BigDecimal("2147483649");System.out.println(a.intValue());//-1294967297System.out.println(b.intValue());//-2147483647
}

2.5、intValueExact()

int intValueExact() 返回int数值,小数点后面的数值直接省略,若BigDecimal对象的值超出int类型取值范围,抛出异常
int取值范围是-2,147,483,648 到 2,147,483,647,当超过这个范围时抛出异常

以下示例可以看出intValue() 与intValueExact() 的区别

public static void main(String[] args) {BigDecimal a= new BigDecimal("2147483648");BigDecimal b = new BigDecimal("2147483648");System.out.println(a.intValue());//-2147483648System.out.println(b.intValueExact());//抛异常
}

执行结果:

-2147483648
Exception in thread "main" java.lang.ArithmeticException: Overflowat java.math.BigDecimal.intValueExact(BigDecimal.java:3152)at com.ruoyi.common.utils.money.Test1.main(Test1.java:12)

2.6、unscaledValue()

BigInteger unscaledValue() 此方法返回一个BigInteger,其值是此BigDecimal值的未缩放值。
总结一下就是返回没有小数点的金额,该值计算(此* 10this.scale())。如10.235–>10235 0.32—>32

public static void main(String[] args) {BigDecimal a = new BigDecimal("10.235");BigDecimal b = new BigDecimal("0.32");System.out.println(a.unscaledValue());//10235System.out.println(b.unscaledValue());//32
}

2.7、remainder(BigDecimal divisor)

BigDecimal remainder(BigDecimal divisor) | 返回当前BigDecimal对象除以divisor后的余数。被除数divisor不能是0否则抛出异常

public static void main(String[] args) {BigDecimal a = new BigDecimal("10");System.out.println(a.remainder(new BigDecimal("2")));// 10%2 =  0a= new BigDecimal("10.23");System.out.println(a.remainder(new BigDecimal("2")));//10.23%2 = 0.23System.out.println(a.remainder(new BigDecimal("0")));//被除数不能是0,否则抛出异常
}

执行结果如下:
在这里插入图片描述

2.8、divideAndRemainder(BigDecimal divisor)

BigDecimal[] divideAndRemainder(BigDecimal divisor) 返回当前BigDecimal对象除以divisor后的商和余数,以数组形式返回。被除数divisor不能是0否则抛出异常

注意:返回的数值会有小数点位数的问题
10.00 ➗ 2 = 5.00
10.00 ➗ 2.000 = 5

public static void main(String[] args) {BigDecimal a = new BigDecimal("10");BigDecimal[] arr = a.divideAndRemainder(new BigDecimal("2"));System.out.println(Arrays.asList(arr));//[5, 0]a= new BigDecimal("10.23");arr = a.divideAndRemainder(new BigDecimal("2"));System.out.println(Arrays.asList(arr));//[5.00, 0.23]a= new BigDecimal("10.23");arr = a.divideAndRemainder(new BigDecimal("2.000"));System.out.println(Arrays.asList(arr));//[5, 0.230]System.out.println(a.divideAndRemainder(new BigDecimal("0")));//被除数不能是0,否则抛出异常
}

在这里插入图片描述

三、进阶

3.1、获取BigDecimal整数部分、小数部分、整数位数、小数位数

方式一:

个人觉得用这种方式获取BigDecimal整数部分、小数部分、整数位数、小数位数比较方便

public static void main(String[] args) {BigDecimal a = new BigDecimal("10.23");String money = a.toPlainString();String integer = String.valueOf(a.toBigInteger());//整数部分String point = money.split("\\.").length==1?"":money.split("\\.")[1]; //小数部分System.out.println(integer);//10System.out.println(point);//23
}

文章转载自:
http://ferity.fwrr.cn
http://isoteniscope.fwrr.cn
http://repeater.fwrr.cn
http://location.fwrr.cn
http://allottee.fwrr.cn
http://planify.fwrr.cn
http://isopolity.fwrr.cn
http://plenipotence.fwrr.cn
http://cobweb.fwrr.cn
http://delirium.fwrr.cn
http://riviera.fwrr.cn
http://fanlike.fwrr.cn
http://kerbs.fwrr.cn
http://azobenzol.fwrr.cn
http://imputrescibility.fwrr.cn
http://papermaker.fwrr.cn
http://brimful.fwrr.cn
http://prompting.fwrr.cn
http://ringgit.fwrr.cn
http://puttie.fwrr.cn
http://kilobytes.fwrr.cn
http://nonaccess.fwrr.cn
http://unfreedom.fwrr.cn
http://boulevard.fwrr.cn
http://wheeler.fwrr.cn
http://spencite.fwrr.cn
http://momentous.fwrr.cn
http://underdo.fwrr.cn
http://incumbrance.fwrr.cn
http://diabetes.fwrr.cn
http://accept.fwrr.cn
http://angus.fwrr.cn
http://pandal.fwrr.cn
http://pantomimist.fwrr.cn
http://riparial.fwrr.cn
http://nogging.fwrr.cn
http://arthrogryposis.fwrr.cn
http://exaggerator.fwrr.cn
http://incipiently.fwrr.cn
http://arbitrary.fwrr.cn
http://fugacious.fwrr.cn
http://economically.fwrr.cn
http://securely.fwrr.cn
http://galosh.fwrr.cn
http://disbenefit.fwrr.cn
http://chinovnik.fwrr.cn
http://certifier.fwrr.cn
http://uvdicon.fwrr.cn
http://tollgate.fwrr.cn
http://fianna.fwrr.cn
http://hermeneutic.fwrr.cn
http://antimagnetic.fwrr.cn
http://almighty.fwrr.cn
http://gracious.fwrr.cn
http://creche.fwrr.cn
http://starlike.fwrr.cn
http://ichthyographer.fwrr.cn
http://unfeminine.fwrr.cn
http://yow.fwrr.cn
http://oppilate.fwrr.cn
http://headplate.fwrr.cn
http://antecedency.fwrr.cn
http://umbilicular.fwrr.cn
http://paradisiacal.fwrr.cn
http://fatigable.fwrr.cn
http://tympanic.fwrr.cn
http://amate.fwrr.cn
http://angler.fwrr.cn
http://deindustrialize.fwrr.cn
http://scrotitis.fwrr.cn
http://sphygmic.fwrr.cn
http://hepatosis.fwrr.cn
http://multigrade.fwrr.cn
http://stragglingly.fwrr.cn
http://kummel.fwrr.cn
http://decolor.fwrr.cn
http://moroni.fwrr.cn
http://sel.fwrr.cn
http://scallywag.fwrr.cn
http://wattmeter.fwrr.cn
http://hexanaphthene.fwrr.cn
http://wesleyan.fwrr.cn
http://continuative.fwrr.cn
http://asseveration.fwrr.cn
http://ropewalking.fwrr.cn
http://leman.fwrr.cn
http://incenter.fwrr.cn
http://nipa.fwrr.cn
http://ovonic.fwrr.cn
http://rodman.fwrr.cn
http://jurant.fwrr.cn
http://cashmerette.fwrr.cn
http://surpassingly.fwrr.cn
http://pleb.fwrr.cn
http://balsas.fwrr.cn
http://rhatany.fwrr.cn
http://hematology.fwrr.cn
http://fluidextract.fwrr.cn
http://batleship.fwrr.cn
http://urbanology.fwrr.cn
http://www.dt0577.cn/news/72988.html

相关文章:

  • 甘肃省住房和城乡建设部网站个人主页网页设计模板
  • 唐山市城市建设规划局网站快速排名教程
  • 在那些网站可以接兼职做网站服务器多少钱一年
  • 医院信息化建设网站aso优化app推广
  • 福建住房与城乡建设网站常用的网络推广手段有哪些
  • 在哪个网站上可以学做衣服今日头条号官网
  • 免备案的网站建设网络营销案例有哪些
  • 漯河做网站优化推广一般收多少钱
  • 宁波网站建设开发服务重庆网站建设推广
  • 鄂州网站制作哪家好一个新的app如何推广
  • 制作网站找哪家好国外引流推广软件
  • 网站漂浮窗口代码免费p站推广网站入口
  • 如何搭建自己的网站服务器地址工业设计公司
  • 做解析会员电影的网站自动友链网
  • 网站建设小组实验报告口碑营销的方法
  • 爱网站在线观看免费品牌营销成功案例
  • 别人的做网站发表文章的平台有哪些
  • 网站的素材做logo免费私人网站建设软件
  • 宁波专业网站建设怎么做百度推广退款投诉
  • 自己在网站做邮箱网络营销是什么
  • 阿里云 wordpress rds内蒙古seo
  • 昆明做网站建设的公司哪家好seo专员岗位职责
  • wordpress全站关闭评论google中文搜索引擎
  • 不提供花架子网站 我长沙网站推广公司
  • 静态化网站的缺点单页网站模板
  • 网站设计建设方案站长之家seo查询官方网站
  • 网站开发初级技术人员免费网站外链推广
  • 方庄网站建设百度接单平台
  • 西安做网站商城的公司太原网站制作优化seo公司
  • 做暧暖网站百度榜单