0


在Java中实现两数相乘

要实现两数相乘算总额:input1.value() * input2.value()

在这里插入图片描述

如果直接获取到两个input值相乘,那么结果就有一点点小偏差,是因为精度缺失

$("#totalSum").val(input1.value() * input2.value());
在这里插入图片描述

Js代码:

//期初库存 按钮被松开时  算总额
        $("#OpeningInventory").blur(function(){
            //期初库存
            var openinginventory=$("#OpeningInventory").val();
            //商品均价
            var averageprice=$("#AveragePrice").val();
            if (openinginventory=="") {
                openinginventory=0;
                $("#OpeningInventory").val(0);
            }
            if (averageprice=="") {
                averageprice=0;
                $("#AveragePrice").val(0);
            }
            $.post("totalSum",{ 
                openinginventory : openinginventory,
                averageprice : averageprice},function(data){
                $("#totalSum").val(data);
            });
            
        });

控制器代码:

// 总额
    @RequestMapping("/totalSum")
    @ResponseBody
    public double totalSum(double openinginventory, double averageprice) {
        BigDecimal b1 = new BigDecimal(Double.toString(openinginventory));
        BigDecimal b2 = new BigDecimal(Double.toString(averageprice));
        return b1.multiply(b2).doubleValue();
    }

BigDecimal加减乘除运算

加法:add()函数
减法:subtract()函数
乘法:multiply()函数
除法:divide()函数
绝对值:abs()函数

需要注意的是除法运算divide.

BigDecimal除法可能出现不能整除的情况,比如 4.5/1.3,这时会报错java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

其实divide方法有可以传三个参数:
public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
第一参数表示除数
第二个参数表示小数点后保留位数
第三个参数表示舍入模式,只有在作除法运算或四舍五入时才用到舍入模式

标签: jquery java

本文转载自: https://blog.csdn.net/weixin_44543108/article/details/116975317
版权归原作者 此刻你 所有, 如有侵权,请联系我们删除。

“在Java中实现两数相乘”的评论:

还没有评论