今天发现了一个小的问题,在网上找了说的不多,在这记录下来方便自己和比人解决自己的问题吧。

代码片段

1float unit = Double.valueOf(ActionUtils.getBillingTransformUnit(request));//取出换算单位1000.0
2                float   svt = ((curveSegment.getEndVal()+1))/unit;//加0.001
3                segmentForm.setStartValTemp(String.valueOf(svt));

我们的计算最小单位是厘,页面上的startValTemp是元,所以必须为三位小数,当curveSegment.getEndVal()取出的是一千万内的整数时,加一计算最后在页面上都能显示增加了一厘。当为两千万时,String.valueOf(svt)就变成了2位小数了,从而丢失了加上的1。

引用我在mantis上的原始介绍“程序中用的数字类型Float 单位是厘 填20000 后转为20000000 后加1等于20000001 除以1000.0后的值在本地化字符串时为20000.0 出现精度丢失问题 (精度问题,float精度为7--8位,8位的情况是第一位是1 当是2时进位后面的精度丢失?)”

故问题就出在使用的类型精度不满足,属于选择类型问题。使用double类型解决问题

1    double unit = Double.valueOf(ActionUtils.getBillingTransformUnit(request));
2                double svt = ((curveSegment.getEndVal()+1))/unit;
3                segmentForm.setStartValTemp(String.valueOf(svt));

Java中float类型精度问题相关推荐

  1. 为什么Java中float类型的取值范围大于long类型

    在学习Java的过程中,我遇到了一个很有意思的问题,就是为什么Java中float类型的取值范围会大于long类型. 类型名 大小/字节 取值范围 float 4(32bit) -3.4E+38 ~ ...

  2. java中double类型精度丢失问题及解决方法

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源: https://blog.csdn.net/yacolsp ...

  3. java中float类型占4个字节,long类型占8个字节,为什么long类型能自动转换成float类型,且float类型为什么表示的范围比long类型大

    作为常识我们都知道,float型在内存中占用的是4个字节,而long型占用8个字节.单从字节数来看,long型是大于float型的.但实际上,float表示的范围却是比long要大的 float类型的 ...

  4. Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

    BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和"1.0000002"之后,必须把它转 ...

  5. java中float、double和BigDecimal的精度问题(fastjson、Jackson以及实例化的方式)

    java中float.double和BigDecimal的精度问题(fastjson.Jackson以及实例化的方式): 问题描述 java中如果使用float或double类型的数据初始化BigDe ...

  6. Java中BigDecimal类型的加减乘除及大小比对

    Java中BigDecimal类型的加减乘除及大小比对 前言 BigDecimal解释 创建BigDecimal类型 加减乘除计算 结果分析 结论 除法的补充 两个BigDecimal的比对 前言 在 ...

  7. java double 转string_double转string java中double类型如何转换为String类型

    double转string java中double类型如何转换为String类型 在我们做的项目中,有一个字符串的生成,我们需要double去拼接,结果发现了,拼接后的字符串,那个double值用科学 ...

  8. java中各种类型所占内存空间大小

    一.常用类型占用内存大小 java中常用类型所占内存大小,以下值以实测为准. 类型 数量 大小 备注 byte 1 1B byte 1024 1KB int 1 4B int 1024 4KB boo ...

  9. java中double类型占几个字节_java中各种数据类型占用字节数

    1字节(Byte)=8bit java的基本类型 类型 所占字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 String中字母和汉字所占字 ...

最新文章

  1. 好莱坞科幻新片《b》,钦定 AI 机器人出演女主角!
  2. 以太坊(Ethereum ETH)是如何计算难度的
  3. Scala 基础(8)—— 占位符_和部分应用函数
  4. 渲染器跑分_这一次会挤牙膏吗?9400F/10400跑分对比
  5. Linux 进程学习(四)------ sigaction 函数
  6. CentOS离线安装gcc4.8.2 + 并安装网卡驱动
  7. 2019日历全年一张_python 日历模块calendar
  8. Servlet 表单数据笔记
  9. 通过对极几何求解相机运动
  10. C/C++[codeup 2003, 2056]图形输出
  11. 关于需求跟踪矩阵的6个问题
  12. matlab自动打卡程序,MATLAB人脸考勤打卡签到系统[摄像头界面GUI]
  13. 水有七德,几近于道!
  14. python 处理大数据
  15. Android入门教程 Android开发环境搭建【详细教程】
  16. PageRank 笔记
  17. C语言中实现bool(布尔型变量)
  18. 转载~时间复杂度分析(个人强推)
  19. 文盲确定为不能用计算机,最初人们把文盲定义为 “不识字的人”;后来又把文盲确定为“看不懂现代信息符号、图表的人”;而现在联合国把文盲确定为“不能用计算机交流的人”。从哲学上看,这表明...
  20. python抖音表白程序代码_python 下载抖音视频示例源码

热门文章

  1. 无需服务器的个人博客 (2018.5.22更新)
  2. 【转】Itween 贝塞尔曲线(一)
  3. 解析Jquery取得iframe中元素的几种方法
  4. [转]gitHub客户端Desktop的安装使用总结 ---基础篇
  5. 安装python-devel开发包
  6. ListView和GridView的一些杂七八杂的内容
  7. NetBeans 时事通讯(刊号 # 103 - May 18, 2010)
  8. 高内聚、低耦合的含义是什么?
  9. 观察者模式/ java实现附代码 /
  10. Java 链接MySQL数据库时报的connect和denied错解决方法