• 2024-07-17BigDecimal的精度与刻度
    BigDecimal是Java中用于高精度算术运算的类。当您需要精确地处理非常大或非常小的数字时,例如在金融计算中,它特别有用。由于众所周知得原因,Double这种类型在某些情况下会出现丢失精度的问题,所以在需要对较为敏感的数据(比如与金额有关的)进行运算时,我们都会用BigDecimal。但是,用Bi
  • 2024-07-16Stream流求和
    Stream流对List<Object>和Set<Object>求和泛型为Integer、Long、Double、BigDecimal的求和使用reduce+orElseIntegersum=scores.stream().reduce(Integer::sum).orElse(0);Longsum=scores.stream().reduce(Long::sum).orElse(0L);Doublesum=scores.stream().r
  • 2024-07-15DDD | 02-值对象拓展示例
    示例拓展金额和货币创建一个表示金额和货币的值对象(AmountVO),在系统中统一处理货币相关的数据,确保精度和一致性。importjava.math.BigDecimal;importjava.util.Currency;/***这个AmountVO类使用BigDecimal来精确存储金额值,避免了浮点运算可能带来的精度问题。同时,利用C
  • 2024-07-12Java基础(二)
    一、BigDecimal等值比较compareTo()忽略精度equals()比较值和精度(1.0,1.00比较结果为false)==BigDecimal是对象,不能用==比较值BigDecimal(Double)创建是损失精度的BigDecimal(String)创建是精确的二、对负数取绝对值不一定是正数Math.abs()int:
  • 2024-07-05BigInter类和Decimallei类
    应用场景BigInteger适用保存比较大的整型BigDecimal适用精度更高的浮点型(小数)BigInteger当编程中需要处理很大的整数,long不够用时可以使用BigInteger的类解决。需要对BigInteger进行加减乘除的时候,需要使用对应的方法。先创建一个需要操作的BigInteger然后进行操作public
  • 2024-07-04单位转换、保留小数、计算百分比【工具类】
    实际开发中,经常会遇到单位转换、保留小数、计算百分比的场景,下面是我自己写的并实际使用的工具类,希望能帮到大家或者给大家参考该工具类包括:单位转换成万或亿保留两位小数计算百分比,保留两位小数计算百分比,保留两位小数,若有效数字为0,则往后取到第一个不为零的计算百分比,保
  • 2024-07-0228-BigDecimal类
    BigDecimal精确存储,精度要求非常高时候用这类这个类的作用就是精确计算浮点数doubled1=1.0;doubled2=0.9;System.out.println(d1-d2);//0.09999999999999998doubleresult=(1.4-0.5)/0.9;System.out.println(result);
  • 2024-06-14Java---BigInteger和BigDecimal和枚举
    1.简介1.BigInteger可以支持任意长度的整数2.BigDecimal可以支持任意精度的浮点数3.用来做精确计算2.创建方式newBigInteger();newBigInteger(参数1,进制):可以将不同进制转成10进制显示newBigDecimal();BigInteger.valueOf();BigDecimal.valueOf();Scanner对象的n
  • 2024-06-11微信小程序支付、接单、取消订单和拒单都没在后端接收到参数,可能原因:
    原因是:支付要用到微信的接口weChatPayUtil进行pay操作接单、取消订单和拒单后,将进行退款,也要用到微信的接口weChatPayUtil退款//付款payJSONObjectjsonObject=weChatPayUtil.pay(ordersPaymentDTO.getOrderNumber(),//商户订单号newBigDecimal(0.01)
  • 2024-06-09Spring Boot集成 Geodesy讲解
    目录1Geodesy1.1什么是geodesy1.2操作实践1.2.1pom.xml1.2.2数学公式计算类1.2.3库包调用1.2.4测试1Geodesy1.1什么是geodesy浩瀚的宇宙中,地球是我们赖以生存的家园。自古以来,人类一直对星球上的位置和彼此的距离着迷。无论是航海探险、贸易往来还是科学研究,精确计算
  • 2024-06-092024050801-重学 Java 设计模式《实战策略模式》
    重学Java设计模式:实战策略模式「模拟多种营销类型优惠券,折扣金额计算策略场景」一、前言文无第一,武无第二不同方向但同样努力的人,都有自身的价值和亮点,也都是可以互相学习的。不要太过于用自己手里的矛去攻击别人的盾
  • 2024-06-08BigDecimal为什么能保证精度不丢失?
    先说说为什么会丢精度。publicstaticvoidmain(String[]args){//正常3.3System.out.println("加法结果:"+(1.1+2.2));//正常-7.9System.out.println("减法结果:"+(2.2-10.1));//正常2.42System.out.println("
  • 2024-06-08Java的BigDecimal与数据库的Decimal的应用
    数据库方面Decimal的语法DECIMAL(M,D)M:总位数,包括小数点前和小数点后的数字。D:小数点后的位数。Decimal的实际应用场景货币计算、精度计算Java代码方面add(BigDecimalaugend):加法运算//本月总计==本月拓客+本月服务+行动长计划//BigDecimalthisMo
  • 2024-06-05android gson 扩展, 序列化int类型被转double 问题
    importcom.google.gson.Gsonimportcom.google.gson.GsonBuilderimportcom.google.gson.ToNumberStrategyimportcom.google.gson.reflect.TypeTokenimportcom.google.gson.stream.JsonReaderimportjava.io.IOExceptionimportjava.lang.reflect.Typeimportjava.m
  • 2024-05-31Java中进度丢失问题
    Java开发过程中我们有时会遇到一些有必要的运算,而一些项目尤其是金融相关的项目对这些运算的精度要求较高。那么为什么会出现精度丢失的情况,我们又该如何解决这种问题呢?问题原因首先计算机进行的是二进制运算,我们输入的十进制数字会先转换成二进制,进行运算后再转换为十进制
  • 2024-05-30BigDecimal 加减乘除 比较大小 取余 mod
    加减乘除BigDecimala=newBigDecimal("1");BigDecimalb=newBigDecimal("3");BigDecimalc=a.add(b);BigDecimald=a.subtract(b);BigDecimale=a.multiply(b);BigDecimalf=a.divide(b
  • 2024-05-27BigDecimal
    位置:java.math包中作用:精确计算浮点数创建方式:BigDecimalbd=newBigDecimal("1.0");注意:使用的时候选择字符串方法:BigDecimaladd(BigDecimalbd)加法BigDecimalsubtract(BigDecimalbd)减法BigDecimalmultiply(BigDecimalbd)乘法BigDecimaldivide(BigDecimalbd)除法pu
  • 2024-05-27java list分组并对bigdecimal属性求和
    JavaList分组并对BigDecimal属性求和在Java中,我们经常需要对一个List进行分组,并对其中的BigDecimal属性进行求和操作。这种需求在实际项目中非常常见,比如在处理财务数据、统计数据等场景中。本文将介绍如何使用Java来实现这一功能,同时会提供代码示例来帮助读者更好地理解。1.使
  • 2024-05-10m1_day3
    课程内容:Java中的数据类型Java中的运算符Java中的数据类型什么是数据类型数据类型可以理解成数据的单位Java是一个强类型的编程语言所有的变量在第一次出现的时候必须有数据类型第二次出现不需要数据类型​钱:元角 分百美元日元个数:个只条栋....长
  • 2024-05-07BigDecimal精度理解
    BigDecimal的类声明以及几个属性:接下来我们可以debug来看下其运行原理BigDecimalbigDecimal1=BigDecimal.valueOf(2.88);BigDecimalbigDecimal2=BigDecimal.valueOf(3.5);BigDecimalresDecimal=bigDecimal1.add(bigDecimal2);Sys
  • 2024-04-24mysql 货币类型 选择
    结论:我们的选择是int和bigint,以分为单位来存;一个外国人的视频讲解了,我直接按重点截图了,连接地址:【在MySQL中存储货币的正确方式:不要使用float或double,要用decimal或integer/bigint!】https://www.bilibili.com/video/BV15N4y147YE?vd_source=025a1c967fa95b3dcfb9b276
  • 2024-04-19Java BigDecimal出现科学计数法
    JavaBigDecimal出现科学计数法查看BigDecimal的toString()源码,可以发现出现toString()出现科学计数法的原因 privateStringlayoutChars(booleansci){...intcoeffLen=coeff.length-offset;longadjusted=-(long)scale+(coeffLen-1);
  • 2024-04-18争论不休的一个话题:金额到底是用Long还是BigDecimal?
    在网上一直流传着一个争论不休的话题:金额到底是用Long还是用BigDecimal?这个话题一出在哪都会引起异常无比激烈的讨论。。。。比如说这个观点:算钱用BigDecimal是常识有支持用Long的,将金额的单位设计为分,然后乘以100,使用Long进行存储以及计算,这样不用担心小数点问题。并且一些
  • 2024-04-09蓝桥杯备考随手记: BigInteger 和 BigDecimal
    在Java中,BigInteger和BigDecimal是用来处理大整数和高精度浮点数的类,分别属于java.math包。下面分别介绍这两个类的特点、用途和常用方法:BigInteger:特点:BigInteger类表示任意精度的整数,可以处理比long型和int型更大范围的整数。BigInteger是不可变的(immutable)类,一
  • 2024-04-06常用API(一):BigDecimal
     解决小数运算失真的问题 packagecom.itheima.Math;importjava.math.BigDecimal;publicclassbigdecimal{publicstaticvoidmain(String[]args){System.out.println((0.1+0.2));//把小数转换成字符串BigDecimala1=newBigD