String转BigDecimal,BigDecimal常用操作,以及避免踩坑

2023-11-07

String转BigDecimal

String a = "50.00";  //字符串类型,必须是数字,否则会报错, java.lang.NumberFormatException 异常
BigDecimal b =new BigDecimal(a);

BigDecimal加法运算

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());
BigDecimal yq=new BigDecimal(bookInfo.getYq());
BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());
totalPrice =publishPrice.add(planeTax).add(yq);

BigDecimal减法运算

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());
BigDecimal yq=new BigDecimal(bookInfo.getYq());
BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());
totalPrice =publishPrice.subtract(planeTax).subtract(yq);

BigDecimal乘法运算

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());
BigDecimal yq=new BigDecimal(bookInfo.getYq());
BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());
totalPrice =publishPrice.multiply(planeTax).multiply(yq);

BigDecimal避免踩坑

 

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());//string数据转换BigDecimal
  BigDecimal yq=new BigDecimal(bookInfo.getYq());//string数据转换BigDecimal
  BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());//string数据转换BigDecimal

//进行相加再相乘操作时注意不要直接用符号+、-、*等,后面是四舍五入的格式
  totalPrice =(publishPrice.add(planeTax).add(yq)).multiply( new BigDecimal(model.getBookInfoList().size()))

  .setScale(2,     BigDecimal.ROUND_HALF_UP); 
  totalPrice = price.subtract(couponMoney);

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

String转BigDecimal,BigDecimal常用操作,以及避免踩坑 的相关文章

随机推荐

  • MinIO简单安装及使用

    MinIO简介 MinIO是一个开源的 云原生的对象存储服务器 它提供了简单 高性能 安全 可扩展的存储服务 MinIO最初是作为一个Amazon S3兼容的对象存储服务器开发的 可以通过S3 API与其他应用程序和服务进行交互 MinIO
  • 移动WEB开发之-REM(rem)布局

    目录 移动WEB开发之REM布局 rem基础 rem单位 媒体查询 什么是媒体查询 媒体查询语法规范 1 mediatype 查询类型 2 关键字 3 媒体特性 4 媒体查询书写规则 less 基础 维护css弊端 Less 介绍 Less
  • 如何将本地深度学习项目放到阿里云服务器(CentOS 7)上运行(基本完整)

    由于比赛需要 需要将本地的一个Python项目 keras框架的深度学习代码 放到云服务器上运行 以下是我的历程 以及踩过的坑 希望对有相同需要的人有所帮助 步骤一 购买学生机 阿里云官网认证学生用户 24周岁以下 返回阿里云首页 查看产品
  • touch手势事件及功能封装

    文章目录 基本概念 事件类型 事件对象的属性 touch事件封装 单击 双击 滑动方向 上下左右 距离 角度 缩放 旋转 常用功能封装 滑动图片浏览 实现拖拽操作 游戏角色移动 跳跃 封装手写板功能 在现代Web开发中 移动设备的普及使得触
  • esmini LongSpeedAction修改

    esmini的LongSpeedAction 如果shape设置为step的话 DynamicsDimension实际就无效了 因为step的意思就是直接设置 在LongSpeedAction的Start过程中设置完就结束了 Step就不在
  • 2、隐私计算--安全多方计算

    目录 安全多方计算 安全多方计算的技术架构 安全挑战敌手模型 安全多方计算关键技术 安全多方计算主要特点 安全多方计算应用 安全多方计算与区块链 JUGO平台 参考 https blog csdn net w365904 article d
  • 如何将MATLAB程序编译成独立可执行的程序

    一 生成独立可执行的程序 exe文件 步骤1 安装编译器 可有多种选择 matlab自带了一个LCC 推荐使用VC 6 0 我基于VS 2003实现 2 设置编译器 在matlab命令行输入mbuild setup以及mex setup 选
  • 【Diffusion模型系列1】DDPM: Denoising Diffusion Probabilistic Models

    0 楔子 Diffusion Models 扩散模型 是在过去几年最受关注的生成模型 2020年后 几篇开创性论文就向世界展示了扩散模型的能力和强大 Diffusion Models Beat GANs on Image Synthesis
  • MATLAB 神经网络NAR时间序列做预测

    本人用到MATLAB神经网络NAR时间序列做预测 根据网上的程序和MATLAB说明 整理出了程序如下 公共号 数据统计分析与挖掘 中回复 数据 获取本文所需数据 公共号 数据统计分析与挖掘 中回复 书籍 获取50本数据分析 python 统
  • mac vscode替换查找以及格式化快捷键

    command option f 当前文件替换 command f 当前文件查找 command shift h 全局替换 command shift f 全局查找 option shift F 格式化代码
  • openwrt如何关掉防火墙?

    答 1 阻止防火墙服务开机自动启动 etc init d firewall disable 2 关闭防火墙 etc init d firewall stop 转载于 https www cnblogs com dakewei p 10784
  • java math 保留_java怎么保留两位小数?具体方法是什么?

    小伙伴们在平时写程序的时 有没有需要在界面或者页面上保留小数点后两位的数据时候呢 今天 小编就来为大家讲一讲如何在Java中保留小数点后两位 一 使用java math BigDecimal 使用BigDecimal 保留小数点后两位 pu
  • 【环境搭建】机械革命 Z3 Air 双系统 原生Windows10 +Ubuntu 20.04.2.0 LTS 桌面版 配置

    欲望是一半生命 冷漠是一半死亡 文章目录 前言 一 前期准备 二 开始安装 1 压缩空间 2 制作安装U盘 3 安装系统 4 安装显卡驱动 总结 前言 众所周知 在Windows上尝试搭建深度学习环境只会带来无尽的痛苦 在Ubuntu上亦是
  • 【Python 虚拟环境创建】解决遇到的问题并在vscode上测试

    目录 一 前提准备 二 python虚拟环境创建 解决问题 virtualenv mkvirtualenv 不是内部或外部命令 也不是可运行的程序 或批处理文件 解决问题 pycharm终端提示无法加载文件 E software pytho
  • Try-Finally执行顺序的经典面试题

    try catch finally finally一定都会去执行 常在finally进行释放锁 释放连接等操作 案例一代码分析 package top chenxi test Created with IntelliJ IDEA Autho
  • LTspice 仿真电容阻抗特性曲线

    一 仿真原理图如图所示 二 信号源参数 三 电容参数 其中包含了ESR ESL 四 执行参数为 ac dec 1000 1 1000Meg 扫频模式 五 开始仿真 然后设置曲线为下图所示 电容电压除以电容电流得到阻抗频率特性曲线 六 得出电
  • [编程开发工具-6]:master 分支和 dev 分支区别

    目录 Git 中的 master 分支和 dev 分支之间有几个重要的区别 Git分支实践 master develop Feature feature 故障号 description hotfix Git 中的 master 分支和 de
  • set和unordered_set的类型要求

    set 需要支持小于比较 或者显示提供比较的仿函数 unordered set 可以转换成整型取模或者提供转换成整型的仿函数 可以支持等于比较或者提供等于笔记的仿函数
  • 【RDMA】qp数量和RDMA性能(节选)

    目录 QP数量上升性能下降 QP数量上升性能下降的原因 作者 bandaoyu 原始连接 https blog csdn net bandaoyu article details 122947096 spm 1001 2014 3001 5
  • String转BigDecimal,BigDecimal常用操作,以及避免踩坑

    String转BigDecimal String a 50 00 字符串类型 必须是数字 否则会报错 java lang NumberFormatException 异常 BigDecimal b new BigDecimal a BigD