0
read x
x="${x}+0.0005"
echo "scale = 3; $x" | bc
Я не знаю, почему «scale = 3» не работает.Почему этот сценарий оболочки выводит 7.9290 при вводе 7.9285?
read x
x="${x}+0.0005"
echo "scale = 3; $x" | bc
Я не знаю, почему «scale = 3» не работает.Почему этот сценарий оболочки выводит 7.9290 при вводе 7.9285?
Причина в том, что деление использует масштабную переменную, но не сложение, вычитание или умножение.
Чтобы получить эффект масштаба здесь, разделите его на 1
;
echo "scale = 3; ($x)/1" | bc
Возможно, вам стоит упомянуть, какую оболочку вы используете: zsh, bash, csh, ... – Marged