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

在Bash脚本中将科学计数法数值转换为整数的方法

在Bash脚本内将科学计数法转换为整数(无需外部工具?)

已知:

#!/bin/bash

# 定义科学计数法表示的数值
my_number="2.2e+6"

我希望在Bash脚本中将这个科学计数法格式的数值转换为整数。目前我通过调用Python实现了该功能,具体代码如下:

# 使用Python将科学计数法转换为整数
my_integer=$(python -c "print(int($my_number))")

echo "原始数值: $my_number"
echo "转换后的整数: $my_integer" 

# 执行输出:
# 原始数值: 2.2e+6
# 转换后的整数: 2200000

请问是否存在无需依赖外部工具,直接在Bash脚本内部实现的解决方案?

环境信息

  • Bash版本:
$ echo "$BASH_VERSION"
5.1.16(1)-release
  • 操作系统:
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

更新

根据采纳的答案,还可以通过awk实现转换并将结果存入变量my_integer:

my_integer=$(awk -v x="$my_number" 'BEGIN {printf("%d\n",x)}')
echo "my_integer: $my_integer" # 输出:2200000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:57:19