如何从变量中删除小数?

时间:2011-12-02 13:02:52

标签: shell

如何删除shell脚本中的小数位。我将MB与字节相乘得到以字节为单位的值。我需要删除小数位。

ex:-
196.3*1024*1024
205835468.8
expected output
205835468

2 个答案:

答案 0 :(得分:17)

(你没有提到你正在使用的shell;这个答案假设是Bash)。

您可以使用${VAR%.*} 删除小数值。例如:

[me@home]$ X=$(echo "196.3 * 1024 * 1024" | bc)
[me@home]$ echo $X
205835468.8
[me@home]$ echo ${X%.*}
205835468

请注意,这会截断值而不是对其进行舍入。如果您希望对其进行舍入,请使用printf中显示的${variable%pattern}

pattern语法从variable的tbe back 开始删除{{1}}的最短匹配。有关详细信息,请参阅Roman's answer

答案 1 :(得分:7)

使用printf:

printf %.0f $float

这将执行舍入。因此,如果float1.8,则会2给您。