要实现两数相乘算总额: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")@ResponseBodypublic 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)
第一参数表示除数
第二个参数表示小数点后保留位数
第三个参数表示舍入模式,只有在作除法运算或四舍五入时才用到舍入模式

在Java中实现两数相乘相关推荐

  1. Java 递归解决 quot;仅仅能两数相乘的计算器计算x^yquot; 问题

    Java 递归解决 "仅仅能两数相乘的计算器计算x^y" 问题 /*** 求一个数的乘方* 求x^y,y是一个正整数. 设计算器仅仅能计算两数相乘,不能一次计算n个数相乘. * 知 ...

  2. java输出两个整数的积_如何检查Java中的两个数字相乘是否会导致溢出?

    如何检查Java中的两个数字相乘是否会导致溢出? 我想处理两个数字相乘导致溢出的特殊情况. 代码看起来像这样: int a = 20; long b = 30; // if a or b are bi ...

  3. Java 两数相乘保留两位小数

    //两数相乘保留两位小数public static String multiply(String num1, String num2) {BigDecimal b1 = new BigDecimal( ...

  4. LeetCode题库整理【Java】—— 2 两数相加

    LeetCode题库整理[Java] 2.两数相加 题目:给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果, ...

  5. LeetCode题库整理【Java】—— 1两数之和

    LeetCode题库整理[Java] 1.两数之和 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nu ...

  6. Java中的两个关键字——super、this

    Java中的两个关键字--super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...

  7. java中判断两个字符(或者字符串相等)

    string a,b;//两字符串 在java中判断两个字符(字符串)相等,用a.equals(b); if(a.equals(b)){ //如果相等,返回值为true }else{ //如果不相等, ...

  8. java类型转换答案,在java中支持两种类型的类型转换,自动类型转换和强制类型转换。父类转化为子类需要强制转换。...

    在java中支持两种类型的类型转换,自动类型转换和强制类型转换.父类转化为子类需要强制转换. 更多相关问题 计算机病毒通过()传染扩散得极快,危害最大. 当一个现象的数量由小变大,另一个现象的数量相反 ...

  9. JAVA中 fastjson两个JSONArray叠加,合并 ,方法 addAll()

    JAVA中 fastjson两个JSONArray叠加,合并用addAll() package com.map;import com.alibaba.fastjson.JSONArray; impor ...

最新文章

  1. Java stream! Kafka steam!流式处理这么火!它究竟是个啥?
  2. VTK与ITK的详细安装指南
  3. arpr选定的文件非rar压缩包_python解压压缩包
  4. 结构型模式之Flyweight模式
  5. ML之LiRLassoR:利用boston房价数据集(PCA处理)采用线性回归和Lasso套索回归算法实现房价预测模型评估
  6. input框在ios中的阴影问题
  7. mongo04---基本查询
  8. angularjs的基础知识
  9. Why Open vSwitch?
  10. mysql 查询表结构
  11. oracle进程的作用,浅析Oracle10g新进程 MMON 和 MMNL的作用
  12. 无人驾驶、免费乘坐,硅谷的出租车行业要变天了
  13. 微软发布云端计算机实验室服务 可以让用户存取虚拟机
  14. 计算机病毒存于什么,计算机病毒存在于哪里
  15. 信号计算机联锁试题,计算机联锁试题.doc
  16. LoadRunner教程(13)-LoadRunner 服务水平协议
  17. linux 关闭后台程序
  18. 记录域名如何过360拦截防护,非绝对
  19. 深度学习在文本分类中的应用
  20. 【c++】Lanelet2 Examples笔记(二)

热门文章

  1. 使用AppImage格式打包独立运行的Qt-Linux程序
  2. SpringBoot之分页插件PageHelper的使用
  3. 自动换行的 RadioGroup
  4. 浏览器扩展:比你想象得更危险
  5. AD如何使用向导快速画DIP系列
  6. neutron计算节点安装
  7. Elasticsearch单机版安装(基于CentOS7)
  8. systemd-logind导致ssh登录缓慢解决办法
  9. 基于关键词和基于关系链的获取流量方法
  10. ArKTS的基本组件