获取小数点前的值

时间:2013-08-02 10:58:51

标签: bash unix ksh decimal-point

我正在写一个Bash脚本。我有一个变量,它是一个浮点值。例如:

x=2099.2

我需要小数点前的值,即只需要2099

1 个答案:

答案 0 :(得分:3)

您可以使用以下shell参数扩展:

${x%%.*}

这将删除第一个点中的所有内容。

现场直播:

$ v=203.4
$ echo ${v%%.*}
203

$ v=2.3.4
$ echo ${v%%.*}
2

来自Bash Reference Manual → 3.5.3 Shell Parameter Expansion

  

<强> $ {参数%%字}

     

这个词被扩展为产生一个模式,就像文件名扩展一样。如果模式匹配参数展开值的尾部,则展开的结果是删除了最长匹配模式的参数值。如果参数是'@'或'',则模式删除操作依次应用于每个位置参数,并且扩展是结果列表。如果参数是使用'@'或''下标的数组变量,则模式删除操作依次应用于数组的每个成员,并且扩展是结果列表。