Можно ли получить десятичный вывод при делении в Bash? [duplicate]

Я решил проблему с помощью команды su - .

Здесь разница между su - и su

2
20.02.2016, 01:02
1 ответ

Вот попробуйте это

echo $(echo "35/3600" | bc -l )

, чтобы ваша команда выглядела как

echo "Enter the seconds you wish to convert to hours: " && read sec && echo " $(echo "$sec/3600" | bc -l ) is the amount of hours "

Чтобы контролировать количество печатаемых значащих цифр, используйте scale = N . Например:

$ echo "scale=3; 35/3600" | bc -l 
.009

Если вы также хотите напечатать ведущий 0 (что, как ни странно, bc не сработает ), вы можете скормить число в printf (который также может округлить его вверх / вниз для вас):

$ printf '%.3f\n' $(echo "35/3600" | bc -l)
0.010
$ printf '%.4f\n' $(echo "35/3600" | bc -l)
0.0097
15
27.01.2020, 21:51

Теги

Похожие вопросы