如何删除shell脚本中的小数位。我将MB与字节相乘得到以字节为单位的值。我需要删除小数位。
ex:-
196.3*1024*1024
205835468.8
expected output
205835468
答案 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
这将执行舍入。因此,如果float
为1.8
,则会2
给您。