dc + sed -- 45 * 0.8 = 36
(Inspired by the answerthe answer by ברוכאלברוכאל)
- Handles any tip amount (integer or float)
Example runs (input is accepted via STDIN):
$ dc -e 5o?.0+p|sed 's/\(.\)\./.\1/'|dc -e 5i?p
42
8.400
$ dc -e 5o?.0+p|sed 's/\(.\)\./.\1/'|dc -e 5i?p
20.96
4.1920