项目中涉及到金钱的计算时,数据库字段的使用
涉及到金额的计算,数据库中在字段应设置为decimal类型,较为精确,
实体类映射类型为:java.math.BigDecimal
xml中jdbcType:DECIMAL
一般用decimal,长度18,保存2位小数,具体看业务
在java的开发中,货币在数据库中MySQL常用Decimal和Numric类型表示,这两种类型被MySQL实现为同样的类型。他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。当声明一个类是这些类型之一时,精度和规模的能被(并且通常是)指定;例如:
salary DECIMAL(9,2)
在这个例子中,9(precision)代表将被用于存储值的总的小数位数,而2(scale)代表将被用于存储小数点后的位数。因此,在这种情况下,能被存储在salary列中的值的范围是从-9999999.99到9999999.99。
DECIMAL和NUMERIC值作为字符串存储,而不是作为二进制浮点数,以便保存那些值的小数精度。一个字符用于值的每一位、小数点(如果scale>0)和“-”符号(对于负值)。如果scale是0,DECIMAL和NUMERIC值不包含小数点或小数部分。
不使用float或者double的原因:因为float和double是以二进制存储的,所以有一定的误差。
比如:在数据库中c1,c2,c3分别存储类型是float(10.2),decimal(10.2),float类型。
插入数据:
INTO test (c1,c2,c3) VALUES (1234567.23,1234567.23,1234567.23)
数据在数据库中的存储结果是:
可以看出,使用float类型存储有一定的误差。因此使用decimal或者numric类型。
项目中涉及到金钱的计算时,数据库字段的使用相关推荐
- java 金钱计算_Java中涉及到金钱计算方法的两种方式
一.不直接使用float和double计算金钱的原因 java中涉及到浮点计算,就会有误差, float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.Big ...
- 当一个项目中同时存在webroot和webcontext时
当一个项目中同时存在webroot和webcontext时,注意一定要删除那些没在使用的.还有要发布其中一个想要的目录到服务器中,具体方法是 选择相应工程-----properties-----de ...
- django项目中涉及到的一些常用sql语句学习整理
1. 查询数据库中yanfriends_article表中所有的为'201'的cid字段,查询结果按照ctime字段(本身为text,转为int类型比较)的递增展示 select * from ya ...
- 【精品】电商项目 中 基于SPU与SKU的 商品 数据库表设计
简介 一般情况下我们使用5张表就可以解决基本的需求了: 商品分类表:category 商品表(即SPU表):表:product 商品规格表(即sku表):product_specs 属性key表:at ...
- SpringBoot项目中获取yml文件的属性时实体属性类出现Spring Boot Configuration Annotation Processor not found in classpath
1.SpringBoot项目的项目结构如下: 2.属性实体类 上面出现了Spring Boot Configuration Annotation Processor not found in clas ...
- 项目中涉及到的Python小技巧(3)—— 高维高斯分布
Python实现高维高斯分布:随机数生成.概率密度函数.累积分布函数 一.高斯分布随机数生成 二.高斯概率密度函数 三.高斯累积分布函数 不过多分类整理了,遇到什么问题,找到了解决方法,就随手写上来吧 ...
- 在springboot项目中配置hive-jdbc的maven依赖时遇到:Could not find artifact org.glassfish:javax.el:pom:3.0.1-b06-S
解决方案 在配置时依赖时排除javax.el <dependency> <groupId>org.apache.hive</groupId> < ...
- 项目中涉及到的BAPI
BAPI_GOODSMVT_CREATE收发货,转储时生成物料凭证BAPI_GOODSMVT_CANCEL物料凭证完全冲销BAPI_PRODORDCONF_CREATE_TT用于完工确认BAPI_PR ...
- SSH项目中根据Hibernate的映射文件生成数据库表的方案:
1.首先在项目的根目录下配置:hibernate.cfg.xml文件:如下: <?xml version="1.0" encoding="UTF-8"?& ...
- vue项目中使用@babel/plugin-proposal-optional-chaining的?.语法,防止字段没有报错
第一步:下载@babel/plugin-proposal-optional-chaining npm install --save-dev @babel/plugin-proposal-optiona ...
最新文章
- 利用data store在不同模型中传递数据
- 各种oracle索引类型介绍,各种Oracle索引类型介绍
- SQL学习笔记之存储过程的编写
- logger 参数列表过长_[源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题...
- 计算机基础知识PDF文档,计算机基础知识(范文).pdf
- 12. Element attributes 属性
- DB2 ResultSet用法
- Atitit.eclipse comment template注释模板
- 场景文字检测——CTPN模型介绍及代码实现
- Web前端开发工程师常用技术网站整理
- 最小二乘法曲线拟合(MATLAB)
- FMS直播和点播测试
- python再议装饰器
- Java 盾神与砝码称重
- BigDecimal非负数判断
- 关于国外主机PING值
- 【Golang开发面经】字节跳动(三轮技术面)
- java se1.6配套Jdk,javase 1.6与jdk1.6
- 无线城域网 WiMax 仿真实验
- 技术前沿与经典文章15:历史上54位伟大物理学家、科学家的专属LOGO(一)
热门文章
- python自动上传百度网盘_树莓派使用百度云盘自动上传存储监控照片
- 2010爆牙笑话第一季!【转】
- 兵法三十六计第一计-瞒天过海。
- LeetCode.1046-最后的石头重量(Last Stone Weight)
- FIRST集和 FOLLOW集的计算
- 在现有Fabric 2.2.0 网络上设置和运行Caliper性能测试 实战
- 苹果系统自带的计算机怎么恢复出厂设置,苹果电脑MacBook如何将系统恢复出厂设置...
- 6 errors and 0 warnings potentially fixable with the `--fix` option.
- Windows10 最新版官方iso镜像(截至2021/02)win10 2009(20h2)
- C# 获得%ProgramData% 路径