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

如何实现按指定scale对浮点数进行向上取整?

Python实现浮点数指定精度向上取整

功能说明:将浮点数向上取整至指定精度,例如输入1.1234(scale=2)时,返回结果为1.13。

参数说明

  • scale:取整精度参数
    • 当scale为正数时,表示保留小数点后的位数
    • 当scale为负数时,表示对小数点前的对应位数进行取整

实现代码

import math

def round_up(num, scale):
    multiplier = 10 ** scale
    return math.ceil(num * multiplier) / multiplier

验证示例

# 正数scale场景验证
assert round_up(0.12345, 3) == 0.124 
assert round_up(1554.3706592276444, 0) == 1555 
assert round_up(1554.3706592276444, 1) == 1554.4 
assert round_up(1554.3706592276444, 2) == 1554.38 
assert round_up(12345.123456789, 8) == 12345.12345679 

# 负数scale场景验证
assert round_up(12345.123456789, -2) == 12400 
assert round_up(12345.123456789, -3) == 13000 
assert round_up(12345.123456789, -4) == 20000

原理说明

核心思路是通过缩放倍数将目标取整位转换为整数位:

  1. 计算10^scale作为缩放因子,将原数放大后,需要向上取整的部分会变成整数部分
  2. 使用math.ceil()对放大后的数执行向上取整
  3. 最后将取整结果除以缩放因子,还原到原精度

内容的提问来源于stack exchange,提问作者yEmreAk.com

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:57:19