spl长实数和浮点数

前置常识

  • 外界接受的数字,例如从数据库中查询的数据,为了保证计算过程的准确性,默认使用的类型是长实型
  • 长实型就是java中的BigCecimal,计算中没有浮点数的误差
  • 在SPL中,长实数的颜色是大红色,但是浮点类型暗红色

遇到的问题

  • 两个有限小数相乘得到一个无限小数
  • 那么相乘的两个数中一定有一个数是有毛病,一个数是数据库取得数据,很多位,但是是有限小数
  • 另外一个是整数 / 1000 ,只有3位,也是有限小数

解决思路

  • 分别对 两个数据 使用decimal函数处理,发现 整数 / 1000 得到居然不是长实数,而是浮点数

结论

  • 外界获取的数据会默认转换为长实数
  • 程序中计算的数字,一般会是浮点数,如果要求数据的准确性,建议使用decimal函数转换

在这里插入图片描述

在这里插入图片描述

使用函数转变之后

 width_list.find([material_code_out,equip_id_out]).width / decimal(1000):width

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值