博客
关于我
java取整和java四舍五入方法
阅读量:790 次
发布时间:2023-01-28

本文共 1289 字,大约阅读时间需要 4 分钟。

Java数值处理函数实用示例

作为Java开发人员,了解数值处理函数的行为是日常编程中不可或缺的一部分。本文将通过一系列实际示例,展示常见的数值处理函数及其应用场景。

舍浪处理函数Math.floor()

Math.floor()函数用于舍去小数点后的部分,返回不大于原数的最大整数。对于正数,其行为如下:

  • Math.floor(2) → 2
  • Math.floor(2.1) → 2
  • Math.floor(2.5) → 2
  • Math.floor(2.9) → 2

对于负数,舍浪规则与正数有所不同:

  • Math.floor(-2) → -2
  • Math.floor(-2.1) → -3
  • Math.floor(-2.5) → -3
  • Math.floor(-2.9) → -3

需要注意的是,负数舍浪时,结果向更小的整数方向取整。

四舍五入处理函数Math.rint()

Math.rite()函数采用银行家四舍五入规则,对近似值进行调整。其行为如下:

  • Math.rites(2) → 2
  • Math.rites(2.1) → 2
  • Math.rite(2.5) → 3
  • Math.rites(2.9) → 3

与舍浪函数不同,四舍五入时对于无小数部分时直接返回离自己最近整数。

凸起处理函数Math.ceil()

Math.ceil()函数用于凸起小数点后的部分,使其返回严格大于原数的最小整数。其行为如下:

  • Math.ceil(2) → 2
  • Math.ceil(2.1) → 3
  • Math.ceil(2.5) → 3
  • Math.ceil(2.9) → 3

此函数在实际应用中常用于处理数值上需向上取整的情形。

BigDecimal精度处理示例

使用BigDecimal对象可以更精确地控制数值的精度,避免浮点数计算中的精度丢失。以下案例展示了BigDecimal在不同场景下的应用:

BigDecimal b = new BigDecimal(9.655); // 隐含精度// setScale与ROUND_HALF_UP配合使用,实现四舍五入middlewares BigDecimal f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).toDouble();// 输出结果:f1=9.65BigDecimal mData = new BigDecimal("9.655").setScale(2, BigDecimal.ROUND_HALF_UP);// 输出结果:mData=9.66// 示例:BigDecimal与double转换的注意事项// new BigDecimal(double)存在潜在精度问题,因为double存储的是二进制浮点数。// 建议转换时先转换为String再使用构造方法。

总结

通过以上示例,我们可以清晰地看到Java中不同数值处理函数的应用场景和行为特征。选择合适的函数类型,能够更好地满足编程需求。在实际开发中,特别是在涉及精度敏感操作时,建议使用BigDecimal类型来确保数据的准确性和一致性。

转载地址:http://ksryk.baihongyu.com/

你可能感兴趣的文章
efficientnet最合适的尺寸和最后一层的层数
查看>>
Ehcache Java开源缓存框架
查看>>
EhCache 分布式缓存/缓存集群
查看>>
EJB学习笔记六(EJB中的拦截器)
查看>>
el-form表单重置后输入失效
查看>>
el-select下拉框修改背景色
查看>>
el-table select事件判断当前项是否勾选
查看>>
Elasticsearch & Kibana & Filebeat开启SSL通信
查看>>
ElasticSearch - DSL查询文档语法,以及深度分页问题、解决方案
查看>>
ElasticSearch - 在 微服务项目 中基于 RabbitMQ 实现 ES 和 MySQL 数据异步同步(考点)
查看>>
ElasticSearch - 基于 docker 部署 es、kibana,配置中文分词器、扩展词词典、停用词词典
查看>>
ElasticSearch - 基于 DSL 、JavaRestClient 实现数据聚合
查看>>
ElasticSearch - 基于 JavaRestClient 操作索引库和文档
查看>>
ElasticSearch - 基于 JavaRestClient 查询文档(match、精确、复合查询,以及排序、分页、高亮)
查看>>
ElasticSearch - 基于 “黑马旅游” 案例,实现搜索框、分页、条件过滤、附近酒店、广告置顶功能
查看>>
ElasticSearch - 索引库和文档相关命令操作
查看>>
elasticsearch 7.7.0 单节点配置x-pack
查看>>
ElasticSearch 中 REST API 详解
查看>>
Elasticsearch 之(16)_filter执行原理深度剖析(bitset机制与caching机制)
查看>>
Elasticsearch 时区问题
查看>>