涉及到金额的计算,数据库中在字段应设置为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类型。

项目中涉及到金钱的计算时,数据库字段的使用相关推荐

  1. java 金钱计算_Java中涉及到金钱计算方法的两种方式

    一.不直接使用float和double计算金钱的原因 java中涉及到浮点计算,就会有误差, float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.Big ...

  2. 当一个项目中同时存在webroot和webcontext时

    当一个项目中同时存在webroot和webcontext时,注意一定要删除那些没在使用的.还有要发布其中一个想要的目录到服务器中,具体方法是  选择相应工程-----properties-----de ...

  3. django项目中涉及到的一些常用sql语句学习整理

    1.  查询数据库中yanfriends_article表中所有的为'201'的cid字段,查询结果按照ctime字段(本身为text,转为int类型比较)的递增展示 select * from ya ...

  4. 【精品】电商项目 中 基于SPU与SKU的 商品 数据库表设计

    简介 一般情况下我们使用5张表就可以解决基本的需求了: 商品分类表:category 商品表(即SPU表):表:product 商品规格表(即sku表):product_specs 属性key表:at ...

  5. SpringBoot项目中获取yml文件的属性时实体属性类出现Spring Boot Configuration Annotation Processor not found in classpath

    1.SpringBoot项目的项目结构如下: 2.属性实体类 上面出现了Spring Boot Configuration Annotation Processor not found in clas ...

  6. 项目中涉及到的Python小技巧(3)—— 高维高斯分布

    Python实现高维高斯分布:随机数生成.概率密度函数.累积分布函数 一.高斯分布随机数生成 二.高斯概率密度函数 三.高斯累积分布函数 不过多分类整理了,遇到什么问题,找到了解决方法,就随手写上来吧 ...

  7. 在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>     < ...

  8. 项目中涉及到的BAPI

    BAPI_GOODSMVT_CREATE收发货,转储时生成物料凭证BAPI_GOODSMVT_CANCEL物料凭证完全冲销BAPI_PRODORDCONF_CREATE_TT用于完工确认BAPI_PR ...

  9. SSH项目中根据Hibernate的映射文件生成数据库表的方案:

    1.首先在项目的根目录下配置:hibernate.cfg.xml文件:如下: <?xml version="1.0" encoding="UTF-8"?& ...

  10. vue项目中使用@babel/plugin-proposal-optional-chaining的?.语法,防止字段没有报错

    第一步:下载@babel/plugin-proposal-optional-chaining npm install --save-dev @babel/plugin-proposal-optiona ...

最新文章

  1. 利用data store在不同模型中传递数据
  2. 各种oracle索引类型介绍,各种Oracle索引类型介绍
  3. SQL学习笔记之存储过程的编写
  4. logger 参数列表过长_[源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题...
  5. 计算机基础知识PDF文档,计算机基础知识(范文).pdf
  6. 12. Element attributes 属性
  7. DB2 ResultSet用法
  8. Atitit.eclipse comment  template注释模板
  9. 场景文字检测——CTPN模型介绍及代码实现
  10. Web前端开发工程师常用技术网站整理
  11. 最小二乘法曲线拟合(MATLAB)
  12. FMS直播和点播测试
  13. python再议装饰器
  14. Java 盾神与砝码称重
  15. BigDecimal非负数判断
  16. 关于国外主机PING值
  17. 【Golang开发面经】字节跳动(三轮技术面)
  18. java se1.6配套Jdk,javase 1.6与jdk1.6
  19. 无线城域网 WiMax 仿真实验
  20. 技术前沿与经典文章15:历史上54位伟大物理学家、科学家的专属LOGO(一)

热门文章

  1. python自动上传百度网盘_树莓派使用百度云盘自动上传存储监控照片
  2. 2010爆牙笑话第一季!【转】
  3. 兵法三十六计第一计-瞒天过海。
  4. LeetCode.1046-最后的石头重量(Last Stone Weight)
  5. FIRST集和 FOLLOW集的计算
  6. 在现有Fabric 2.2.0 网络上设置和运行Caliper性能测试 实战
  7. 苹果系统自带的计算机怎么恢复出厂设置,苹果电脑MacBook如何将系统恢复出厂设置...
  8. 6 errors and 0 warnings potentially fixable with the `--fix` option.
  9. Windows10 最新版官方iso镜像(截至2021/02)win10 2009(20h2)
  10. C# 获得%ProgramData% 路径