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

如何不四舍五入仅提取数字的第一位小数?

不四舍五入保留指定位小数的实现方案

核心逻辑是通过量级调整,把需要保留的小数位移到整数位做截断,再还原回原量级即可,完全避免四舍五入逻辑。

通用数学方法

要保留1位小数时,遵循以下公式即可:
floor(原数 * 10) / 10
验证示例:

  • 数值1.88:1.88 * 10 = 18.8,floor(18.8)得到整数18,18 / 10 = 1.8,符合需求
  • 数值2.488:2.488 * 10 = 24.88,floor(24.88)得到整数24,24 / 10 = 2.4,符合需求

如果需要处理负数,可根据截断规则调整取整函数:要保留和正数一致的向零截断效果时,把floor替换为ceil即可,比如ceil(-1.88 * 10) / 10 会得到-1.8。

常见场景实现示例

  • 数值计算场景(各语言通用逻辑)
    • Python 实现:
      import math
      def truncate_one_decimal(num):
          return math.floor(num * 10) / 10
      
    • JavaScript 实现:
      function truncateOneDecimal(num) {
          return Math.floor(num * 10) / 10
      }
      
  • 纯展示场景(无需后续数值计算)
    可以直接转字符串截断,完全规避浮点数精度问题:
    # Python 示例
    num_str = str(2.488)
    res = num_str[:num_str.index('.') + 2]
    # 得到结果为字符串 "2.4"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:24:04