Je lis le prix de l'utilisateur de l'utilisateur. Quand je multiplie l'entrée avec int comme ceci p>
p>
t =
"$ ((prix * qty))" | BC code>; donne Ligne 272: 12.00: Erreur de syntaxe: opérateur arithmétique non valide (jeton d'erreur est "0,00") ou .50 p> blockQuote>
Selon l'entrée de l'utilisateur. Comment puis-je multiplier ces deux variables et obtenir un total avec 2 points décimaux? p>
5 Réponses :
T="$(echo "$PRICE*$QTY" | bc)"
Je reçois (standard_in) 2: erreur de syntaxe idk pourquoi. c'est presque le même que ci-dessus
@svenus: Celui-ci travaille pour moi. Je ne sais pas pourquoi vous obtenez cette erreur de BC code>.
awk -vp=$PRICE -vq=$QTY 'BEGIN{printf "%.2f" ,p * q}'
./menu3.sh: Ligne 278: 12.25: Erreur de syntaxe: opérateur arithmétique non valide (jeton d'erreur est "0,25")
Supprimer le $ (()) code>. Bash ne flotte pas arithmétique. Si vous souhaitez définir 2 décimales, utilisez l'échelle = 2
Vous avez besoin de signes de dollar avant chaque nom de variable.
var = $ (écho "échelle = 2; $ prix * $ qté" | bc) me donne (standard_in) 2: erreur de syntaxe
Ceci fonctionne:
PRICE=1.1 QTY=21 RES=$(echo "scale=4; $PRICE*$QTY" | bc) echo $RES
Tout d'abord, essayant de faire de l'arithmétique de point flottant avec BC (1) code> sans utiliser le drapeau
-l code> est obligé de vous donner des réponses amusantes:
sarnold@haig:~$ bc -q
3.5 * 3.5
12.2
sarnold@haig:~$ bc -q -l
3.5 * 3.5
12.25
La plupart des $ (()) avec la Colombie-Britannique, j'ai essayé m'a donné des erreurs. Doit être à cause de la (())? Merci pour la clarification.
vous pouvez utiliser
mul = 0,8
exp = 200
texp = J'espère que cela va fonctionner. P> awk -vp = $ mul -vq = $ exp 'commencer {printf "% .2f", p * q}' code> p> p>
S'il vous plaît éditer votre réponse. Sa droite, mais pas correctement formatée
WOW! C'est bon! Je n'ai jamais revu des réponses ce qui est rapidement dans tous les autres forums, peu importe la manière dont ils sont actifs et que nous obtenons principalement "Nous ne ferons pas votre mission pour vous". Cela a fonctionné pour moi t =
€ $ qtys \ * $ Prix | BC code>; C'est également arrondi prix à 2 décimales sans échelle. Pour une raison quelconque, juste prix * Qté me donnait la commande introuvable.
Une chose à retenir est que Bash n'a pas vraiment de types de données, sauf les chaînes. Chaque variable se présente à une chaîne, il peut donc vous aider à vous rappeler que cela. Différents programmes bien sûr traiteront certaines cordes de manière particulière.