how to remove decimal from a variable?

shell

Solution

(You did not mention what shell you're using; this answer assumes Bash).

You can remove the decimal values using `${VAR%.*}`. For example:

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

Note that this truncates the value rather than rounds it. If you wish to round it, use `printf` as shown in Roman's answer.

The `${variable%pattern}` syntax deletes the shortest match of `pattern` starting from tbe back of `variable`. For more information, read http://tldp.org/LDP/abs/html/string-manipulation.html

Problem

how to remove decimal place in shell script.i am multiplying MB with bytes to get value in bytes .I need to remove decimal place. ``` ex:- 196.3*1024*1024 205835468.8 expected output 205835468 ```

Original source