JAVA后端与JS的数学运算的区别(除法的特殊使用)

本文探讨了Java后端在进行数学运算时遇到的精度问题,特别是使用`/`和`%`运算符可能导致的不准确计算。推荐使用BigDecimal进行精确浮点数运算,详细介绍了BigDecimal的转化和使用方法,包括如何进行加减乘除和四舍五入。同时,对比了JavaScript的简单运算,指出JS中直接使用运算符即可,但若需精确控制小数位数可使用toFixed方法。
摘要由CSDN通过智能技术生成

符号介绍

“+”:加法
“-”:减法
“*”:乘法
“/”:除法
“%”:取余
**以上的运算符号,若不涉及除法、取余则在前端和后端使用相同。

JAVA后端运算

java后端普通的计算及造成的影响

使用"/",则会仅取小数点左边的整数,会导致计算不准确。
使用"%","/"相反只取小数点左边数字。为了确保数据计算准确性建议使用BigDecimal或者BigInteger。

BigDecimal(常用)、BigInteger介绍

BigDecimal:常用来解决精确的浮点数运算。
BigInteger:常用来解决超大的整数运算。

java后端运算建议使用:BigDecimal ===>>>使用方法,若结果类型不一致如何转化

1.数字转化为BigDecimal 类型
2.调用BigDecimal的运算方法
3.在运算中设置自己所需数据(除法中使用,否则若存在无限循环小数会出现异常)
4.结果可以设置保留几位小数(可以不用使用,看自身情况是否需要)目的为了确保正确的保留小数数量
代码介绍:
1.类型转化两种方法: 
	(1.):创建实例: BigDecimal b = new BigDecimal(数字类型);
	(2.):转化:BigDecimal b = BigDecimal.valueOf(数字类型)
2.运算方法的使用:
	BigDecimal a = 111;
	BigDecimal b = 111;
	BigDecimal c = 111;

	"+": a.add(b); ==>多重运算:(a.add(b)).add(c); 或者 a.add(b).add(c);
	"-": a.substract(b);==> 多重运算:类似“+"*": a.multiply(b);
	"/": a.divide(b,保留几位小数,舍入方式) ===>a.divide(b,2,BigDecimal.ROUND_HALF_UP) // 保留2位小数,四舍五入
	运算结果截取小数方法:
	a.setScale(2,BigDecimal.ROUND_HALF_UP) // 保留两位小数

3.BigDecial类型转化为数字类型
	1.不要转为int类型: int整数类型,会容易发生类型转换异常。建议Double类型
	2.Double.ParseDouble(String.valueof(a))

JS运算

js使用普通的运算就可以运算:"+","-","*","/" 可以正常使用
四舍五入:toFixed(保留小数)==> num.toFixed(2) //保留两位小数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大众筹码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值