que estoy tratando de conseguir un número flotante de esto:número flotante cáscara en expr
totalmark=$(expr $sum/$subjects)
Es esto correcto?
que estoy tratando de conseguir un número flotante de esto:número flotante cáscara en expr
totalmark=$(expr $sum/$subjects)
Es esto correcto?
fiesta no admite el uso flotadores, awk o ac/dc
por ejemplo awk
totalmark=$(awk 'BEGIN{print $sum/$subjects}')
o BC
totalmark=$(echo "scale=2;$sum/$subjects"|bc)
si usted tiene el lujo de utilizar diferentes conchas distintos bash, prueba zsh o ksh
$ zsh -c 'echo $((4/1.3))'
3.0769230769230766
$ ksh -c 'echo $((4/1.3))'
3.07692307692307692
No creo que bash tenga capacidades de coma flotante. Puede intentarlo:
echo "$sum/$subjects" | bc -l
Bash no es compatible con la aritmética de coma flotante. Pruebe bc
en su lugar.
totalmark=$(echo "scale=4;$sum/$subjects"|bc)
Por cierto, tres respuestas dicen que Bash no es compatible con la aritmética de punto flotante. Si bien es cierto, expr
es un programa externo (/usr/bin/expr
para mí) y es el que, en particular, en este caso no admite flotadores.
El GNU 'bc' tiene 'scale = 0' por defecto, lo que presumiblemente la Q no quiere. Pase las opciones '-lq'. –
@Charles: Es por eso que especifiqué una escala de 4. Podría ser cualquier cosa que desee. La opción '--mathlib' (' -l') proporciona un valor predeterminado de 'scale = 20' (al menos en mi sistema con bc 1.06.94). La opción '--quiet' es una buena idea, sin embargo. –
Lo siento: no había notado que había pasado la tarea en la entrada - Debí haber estado soñando despierto. 'scale = 20' es una exageración despiadada, pero la información deseada está allí, y tiendo a preferir el ruido en la salida al ruido en el script de shell. –
No te olvides de 'perl -e' ... –
y' python -c' y 'php -r' y .... – ghostdog74
@ghostdog: punto justo, pero ¿quién tiene php instalado en su cliente? Bueno, de hecho, sí veo que está instalado por defecto en Mac OS; Estoy seguro de que Apple tiene sus razones ... –