You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter (Dart) 如何将double类型数值四舍五入到最近的0.5?

Dart 实现 double 数值四舍五入到最近 0.5 的方案

实现思路

  • 核心逻辑:将原数值乘以2后调用系统原生的四舍五入方法取整,再将结果除以2即可得到符合要求的数值
  • 原理是把0.5的精度间隔放大为整数间隔,直接复用Dart原生的成熟四舍五入能力,避免自行写边界判断逻辑出错

代码实现

// 封装为公用方法
double roundToNearestHalf(double value) {
  return (value * 2).round() / 2;
}

// 测试用例
void main() {
  var value1 = 23.2;
  var value2 = 23.6;
  var value3 = 23.8;
  
  print(roundToNearestHalf(value1)); // 输出 23.0
  print(roundToNearestHalf(value2)); // 输出 23.5
  print(roundToNearestHalf(value3)); // 输出 24.0
}

补充说明

如果输入值恰好处于两个0.5间隔的正中间(比如23.25),会按照Dart原生round()方法的规则取最近的偶数,符合通用的四舍五入规范。如果业务有特殊的舍入要求,替换round()为ceil()、floor()等方法即可适配。

内容的提问来源于stack exchange,提问作者Joel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:39:05