当前位置: 首页 > news >正文

【记录】在返回值类型为BigDecimal情况下末尾小数位为0的会省略不显示

【问题】:在返回值类型为BigDecimal情况下末尾小数位为0的会省略不显示

问题复现:

实体类

package com.zlp.aspect.entity;import java.math.BigDecimal;/*** @program: my_utils* @description:* @author: zlp* @create: 2024-09-24 10:01**/public class User {private String name;private BigDecimal high;public String getName() {return name;}public void setName(String name) {this.name = name;}public BigDecimal getHigh() {return high;}public void setHigh(BigDecimal high) {this.high = high;}}

模拟需求返回:

package com.zlp.aspect.controller;import com.zlp.aspect.entity.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** @program: my_utils* @description:* @author: zlp* @create: 2024-09-24 09:53**/
@RestController
@RequestMapping("/bigdecimal")
public class BigDecimalTest {@RequestMapping("/test")public List<User> test() {List<User> users = new ArrayList<>();User user = new User();user.setName("码场小兵");user.setHigh(new BigDecimal("1.77"));users.add(user);User user1 = new User();user1.setName("码场老兵");user1.setHigh(new BigDecimal("1.80"));users.add(user1);return users;}
}

测试结果:

可以看到,我们定义的1.80后面的那个0没有显示出来。

问题解决:

1、自定义类继承JsonSerializer,重写serialize方法,以字符串形式序列化。

package com.zlp.aspect.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;/**
*
* @desc 序列化时按字符串格式,保留为0的小数位
* @author
* @data
**/
public class BigDecimalSerializer extends JsonSerializer<BigDecimal> {@Overridepublic void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException {gen.writeString(value.toString());}
}

2、在实体类添加注解 @JsonSerialize(using = BigDecimalSerializer.class)

测试结果:

ps:在实际开发中与前端交互的vo还是建议都定义String类型,使用起来灵活、方便。

相关文章:

【记录】在返回值类型为BigDecimal情况下末尾小数位为0的会省略不显示

【问题】&#xff1a;在返回值类型为BigDecimal情况下末尾小数位为0的会省略不显示 问题复现&#xff1a; 实体类 package com.zlp.aspect.entity;import java.math.BigDecimal;/*** program: my_utils* description:* author: zlp* create: 2024-09-24 10:01**/public clas…...

通信工程高级职称评审条件详细解读

通信工程只有正高和副高级别的职称&#xff0c;中级通信工程的职称是需要自己参加考试的&#xff0c;并不是评审获得&#xff0c;这个大家需要注意一下&#xff0c;先要考取中级通信工程师之后才能评审副高和正高级通信工程的职称。 下面跟甘建二一起来看看通信专业职称评审条件…...

yolov8环境安装

yolov8 git地址 https://github.com/ultralytics/ultralytics/tree/main 我的电脑显卡配置 nvidia-smi cuda11.8下载 https://developer.nvidia.com/cuda-11-8-0-download-archive?target_osWindows&target_archx86_64&target_version10&target_typeexe_local …...

C语言中易混淆概念的关键字

最快的关键字---- register register&#xff1a; 这个关键字请求编译器尽可能的将变量存在 CPU 内部寄存器中而不是通过内 存寻址访问以提高效率。注意是尽可能&#xff0c;不是绝对。你想想&#xff0c;一个 CPU 的寄存器也就那么 几个或几十个&#xff0c;你要是定义了很多很…...

网络资源模板--Android Studio 零食工坊(商城)

目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--零食工坊 二、项目测试环境 三、项目详情 1. **加载 Fragment 布局**&#xff1a; - 使用 inflater.inflate 加载 fragment_snack 的布局。 2. **视图组件初始化**&am…...

百度高德坐标系相互转换

一、百度与高德坐标系互换 百度坐标系&#xff1a;bd09 高德坐标系&#xff1a; gcj02 import math# 坐标系转换&#xff1a;百度转高德&#xff0c;高德转百度 class CoordinateSystem:staticmethoddef bd09_to_gcj02(bd_lon, bd_lat):百度坐标系:bd09 转成高德坐标系 gcj0…...

免费下载6组简历模板,让HR一眼相中你!

简历是求职者向招聘单位展示自我的重要工具&#xff0c;选择一份高质量的简历模板免费下载&#xff0c;能够提升面试机会并留下深刻印象。优秀的简历模板需具备清晰的信息结构、出色的视觉效果及合理的排版布局。简历的配色可以凸显求职者的个性&#xff0c;而有逻辑性的排版则…...

设计模式之模版方法模式

定义 定义一个操作中的算法的骨架&#xff08;稳定&#xff09;&#xff0c;而将一些步骤延迟&#xff08;变化&#xff09;到子类中。模版方法使得子类可以不改变&#xff08;复用&#xff09;一个算法的结构即可重定义&#xff08;override 重写&#xff09;该算法的某些特定…...

解析!文档扫描 SDK 中的高级图像处理技术

随着世界数字化&#xff0c;文档扫描已成为现代商业运营的关键&#xff0c;它使文档的存储、访问和管理更加便捷。然而&#xff0c;扫描图像的质量对于这些数字档案的有效性至关重要。高质量的扫描可确保文本清晰、数据准确捕获并且信息易于检索。 另一方面&#xff0c;质量差…...

线性判别分析(LDA)中求协方差矩阵示例

让我们通过一个简单的例子计算协方差矩阵。假设我们有两类数据集 X 0 X_0 X0​ 和 X 1 X_1 X1​&#xff0c;每类有两个样本&#xff0c;每个样本有两个特征。 数据集&#xff1a; 类 0 的样本&#xff1a; X 0 [ 1 2 2 3 ] X_0 \begin{bmatrix} 1 & 2 \\ 2 & 3…...

Maven的详细解读和配置

目录 一、Maven 1.1 引言 1.2 介绍 1.3 下载安装 1.3.1 解压 1.3.2 配置环境变量 1.3.3 测试 1.4 仓库[了解] 1.5 Maven配置 1.5.1 修改仓库位置 1.5.2 设置镜像 二、IDEA - MAVEN 2.1 idea关联maven 2.2 为新项目设置 2.2 创建java项目[重点] 2.3 java项目结构…...

在vue2项目中使用dart-sass

问题描述 在vue2项目中使用dart-sass。或者将node-sass换成dart-sass&#xff0c;原因是node-sass安装比较困难&#xff0c;很多时候sass-loader无法安装成功。另外在win和Linux环境下运行行项目需要针对Linux搞一个node-sass的Linux版本。 问题分析 在 Vue 2 项目中使用 da…...

【机器学习】过拟合与欠拟合——如何优化模型性能

【机器学习】过拟合与欠拟合——如何优化模型性能 1. 引言 在机器学习中&#xff0c;模型的表现不仅依赖于算法的选择&#xff0c;还依赖于模型对数据的拟合情况。过拟合&#xff08;Overfitting&#xff09;和欠拟合&#xff08;Underfitting&#xff09;是模型训练过程中常…...

二进制日志gtid模式

# --skip-gtids&#xff0c;使用mysqlbinlog截取时添加该参数&#xff0c;会执行已经执行的事务 mysqlbinlog --skip-gtids --include-gtidsa56fdfdc-7699-11ef-8f40-000c297f81d5:40 /data/binlog/mysql-bin.000003 > gtid.sql # --skip-gtids&#xff0c;使用mysqlbinlog截…...

华硕主板开启TPM 2.0

安装Windows11系统&#xff0c;需要打开TPM 安装 Windows 11 的方法 电脑健康状况检查应用验证最低系统要求 在电脑上启用 TPM 2.0 查看主板型号 winr msinfo32 查看 tpm 进入Advanced Mode&#xff08;F7&#xff09; 选择Security&#xff0c;进入Secure Boot&#xff0c;我…...

Linux 一键部署Mysql 8.0.37

mysql 前言 MySQL 是一个基于 SQL(Structured Query Language)的数据库系统,SQL 是一种用于访问和管理数据库的标准语言。MySQL 以其高性能、稳定性和易用性而闻名,它被广泛应用于各种场景,包括: Web 应用程序:许多动态网站和内容管理系统(如 WordPress)使用 MySQL 存…...

Elasticsearch可视化工具ElasticHD

目录 介绍 ElasticHD应用程序页面 安装 基本用法 独立可执行文件 ES版本支持 SQL特性支持: 超越SQL功能支持: SQL的用法 Docker快速入门: 下载地址 介绍 ElasticHD是ElasticSearch可视化管理工具。它不需要任何软件。它在您的Web浏览器中工作,允许您随时随地管理…...

Chrome截取网页全屏

1.使用Chrome开发者工具 Chrome自带的开发者工具&#xff0c;可以进行网页整页截图&#xff0c; 首先打开你想截图的网页&#xff0c; 然后按下 F12,调出开发者工具&#xff0c; 接着按Ctrl Shift P。 紧接着输入指令 capture&#xff0c; 它会提示有三个选项&#xff0c;如…...

Why Is Prompt Tuning for Vision-Language Models Robust to Noisy Labels?

文章汇总 本文的作者针对了提示学习的结构设计进行了分析&#xff0c;发现了一些规律&#xff1a; 1)固定的类名令牌为模型的优化提供了强正则化&#xff0c;减少了由噪声样本引起的梯度。 2)从多样化和通用的web数据中学习到的强大的预训练图像文本嵌入为图像分类提供了强大…...

C++ 折叠表达式

C 折叠表达式&#xff08;Fold Expression&#xff09;是在 C17 引入的一种语法&#xff0c;用于简化与可变参数模板的操作。折叠表达式的作用是对参数包&#xff08;parameter pack&#xff09;进行递归处理。 折叠表达式有四种类型&#xff1a; 一元左折叠 (Unary Left Fol…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...