Java返回前端Bigdecimal类型数据时“0E-8“及小数点多余0的问题
目录
问题描述:
解决方法:
重要代码:
问题描述:
项目中oracle数据库需要转换为mysql,Oracle中的表字段定义为number(36,16)类型的工具自动转换为mysql的decimal(36,16)。在Oracle数据库中,number(36,16)类型的字段,使用BigDecimal类型进行映射字段,能够正常获取到去除后缀0的值。MySQL数据库中存储为decimal(36,16)对应的字段,使用BigDecimal进行映射,会得到加后缀0的数值。例如在oracle中实际精度是16位的数值0.000345344,使用BigDecimal接收,会得到0.000345344,而mysql会得到的值为0.0003453440000000,这样返回给前端,就会有问题。这
解决方法:
1、按照业务需求,在mysql数据库下,修改每一个字段对应的精度。然后在代码中手动对BigDecimal类型的字段进行手动去0后缀处理。
2、在vo层进行json格式化中,进行去除0后缀。(这种方案不推荐,但要是想快速修改,可以采取)
重要代码:
package com.xiayu.config;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.SerializerProvider;import java.io.IOException;import java.math.BigDecimal;import java.util.Objects;public class CustomerBigDecimalSerialize extends JsonSerializer<BigDecimal> {@Overridepublic void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException {if(Objects.nonNull(value)) {gen.writeNumber(value.stripTrailingZeros().doubleValue());//去除0后缀,如果想统一进行保留精度,也可以采用类似处理}else {//如果为null的话,就写nullgen.writeNull();}}}//在vo类字段中对字段加上@JsonSerialize注解@JsonSerialize(using = CustomerBigDecimalSerialize.class)private BigDecimal totalExchangeBtc; //抵扣电费的usdt兑换的btc总量@JsonSerialize(using = CustomerBigDecimalSerialize.class)private BigDecimal perTotalExchangeBtc; //兑换的btc总量对应每份的btc@JsonSerialize(using = CustomerBigDecimalSerialize.class)private BigDecimal exchangeUsdtPrice; //兑换时usdt的价格相关文章:
Java返回前端Bigdecimal类型数据时“0E-8“及小数点多余0的问题
目录 问题描述: 解决方法: 重要代码: 问题描述: 项目中oracle数据库需要转换为mysql,Oracle中的表字段定义为number(36,16)类型的工具自动转换为mysql的decimal(36,16)。在Oracle数据库中,number(36,16)类型的字段,使用BigDeci…...
标题:深入探索Linux中的`ausyscall`
标题:深入探索Linux中的ausyscall(注意:ausyscall并非Linux内核标准命令,但我们可以探讨类似的概念) 在Linux系统中,系统调用(syscall)是用户空间程序与内核空间进行交互的一种重要…...
CorelDRAW2024发布更新啦!设计师们的得力助手
在数字化的今天,视觉设计已经成为我们生活中不可或缺的一部分。从手机界面到广告海报,从网页布局到包装设计,每一个细节都离不开设计师们的专业与创意。然而,面对日益增长的设计需求和不断提升的审美标准,许多设计师开…...
SpringMVC日期格式处理 分页条件查询
实现日期格式处理: springmvc能实现String类型和基本数据类型及包装类的自动格式转换,但是不能识别String和 日期类格式的自动转换。 实现方式: 1是在实体类上加上注解DateTimeFormat,识别String格式为“yyyy-MM-dd” 2使用自定义…...
蓝桥云课第12届强者挑战赛
第一题:字符串加法 其实本质上就是一个高精度问题,可以使用同余定理的推论 (ab)%n((a%n)(b%n))%n; #include <iostream> using namespace std; const int mod1e97; int main() {string a,b;cin>>a>>b;ab;int …...
LabVIEW储油罐监控系统
LabVIEW储油罐监控系统 介绍了基于LabVIEW的储油罐监控系统的设计与实施。系统通过集成传感器技术和虚拟仪器技术,实现对储油罐内液位和温度的实时监控,提高了油罐监管的数字化和智能化水平,有效增强了油库安全管理的能力。 项目背景 随着…...
局域网、城域网、广域网的ip
一、 广域网ip: 全球共享同一个广域网,所以广域网也被称为公网,所以广域网的ip也称为公网ip,全球公网ip必须是都是唯一的,不能冲突。 二、城域网、局域网ip: 可以有无数个局域网、城域网,虽然在…...
【全开源】Java共享茶室棋牌室无人系统支持微信小程序+微信公众号
打造智能化休闲新体验 一、引言:智能化休闲时代的来临 随着科技的飞速发展,智能化、无人化服务逐渐渗透到我们生活的各个领域。在休闲娱乐行业,共享茶室棋牌室无人系统源码的出现,不仅革新了传统的休闲方式,更为消费…...
echarts数据更新没反应解决方案
数据处理逻辑问题: 确保data数组在传入函数时确实发生了变化,并且这些变化对于生成newData1和newData2是有效的。您可以增加一些日志输出来验证处理后的数据是否如预期那样被更新了。 ECharts实例未正确更新: 虽然使用了myChart.setOption…...
RK3588+FPGA+算能BM1684X:高性能AI边缘计算盒子,应用于视频分析、图像视觉等
搭载RK3588(四核 A76四核 A55),CPU主频高达 2.4GHz ,提供1MB L2 Cache 和 3MB L3 ,Cache提供更强的 CPU运算能力,具备6T AI算力,可扩展至38T算力。 产品规格 系统主控CPURK3588,四核…...
Mysql学习(三)——SQL通用语法之DML
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 DML添加数据修改数据删除数据 总结 DML DML用来对数据库中表的数据记录进行增删改操作。 添加数据 -- 给指定字段添加数据 insert into 表名(字段1,字…...
java static 如何理解
在Java中,static关键字是一个重要的概念,它用于定义类的静态成员,包括静态变量(也称作类变量)、静态方法和静态代码块。static关键字的主要作用是创建独立于对象的成员,这些成员属于类本身,而不…...
算法金 | 不愧是腾讯,问基础巨细节 。。。
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 最近,有读者参加了腾讯算法岗位的面试,面试着重考察了基础知识,并且提问非常详细。 特别是关于Ada…...
实验9 浮动静态路由配置
--名称-- 一、 原理描述二、 实验目的三、 实验内容四、 实验配置五、 实验步骤 一、 原理描述 浮动静态路由也是一种特殊的静态路由,主要考虑链路冗余。浮动静态路由通过配置一条比主路由优先级低的静态路由,用于保证在主路由失效的情况下,…...
多源最短路径算法–Floyd算法
多源最短路径算法–Floyd算法 Floyd算法是为了求出每一对顶点之间的最短路径 它使用了动态规划的思想,将问题的求解分为了多个阶段 先来个例子,这是个有向图 Floyd算法的运行需要两个矩阵 最短路径矩阵 从当前这个状态看各顶点间的最短路径长度 例…...
使用Redis缓存实现短信登录逻辑,手机验证码缓存,用户信息缓存
引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 加配置 spring:redis:host: 127.0.0.1 #redis地址port: 6379 #端口password: 123456 #密码…...
探索未来制造,BFT Robotics引领潮流
“买机器人,上BFT” 在这个快速变化的时代,创新和效率是企业发展的关键。BFT Robotics,作为您值得信赖的合作伙伴,专注于为您提供一站式的机器人采购和自动化解决方案。 产品系列: 协作机器人:安全、灵活、…...
数组中的第K个最大元素 ---- 分治-快排
题目链接 题目: 分析: 这道题很明显是一个top-K问题, 我们很容易想到用堆排序来解决, 堆排序的时间复杂度是O(N*logN), 不符合题意, 所以我们可以用另一种方法:快速选择算法, 他的时间复杂度为O(N)快速选择算法, 其实是基于快排, 进行修改而成, 我们还是使用将"将数组分…...
函数或变量 ‘tfrstft‘ 无法识别
参考博客 Matlab时频工具箱tftb下载及安装_tftb工具箱-CSDN博客 解决。...
在推荐四款软件卸载工具,让流氓软件无处遁形
Revo Uninstaller Revo Uninstaller是一款电脑软件、浏览器插件卸载软件,目前已经有了17年的历史了。可以扫描所有window用户卸载软件后的残留物,并及时清理,避免占用电脑空间。 Revo Uninstaller可以通过命令行卸载软件,可以快速…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
