PRINTF PAS FIABLE :
La méthode printf est très pratique, facile à utiliser et est répertoriée dans de nombreux tutoriels.
Cependant, si vous avez codé en dur un point décimal, sachez que votre code risque probablement d'échouer si utilisé dans l'un des nombreux pays utilisant une virgule comme séparateur.
Un nombre surprenant de pays utilisent en réalité cela, et beaucoup d'entre eux sont en Europe. Probablement autant que ceux utilisant un point. Selon Wikipedia > Decimal_separator, la virgule est mentionnée comme une directive ISO/IEC ...
Voici ce qui se passe si votre ordinateur est configuré pour utiliser les virgules dans son système numérique :
printf %.2f 573,5489
573,55
mais
printf %.2f 573.5489
printf: 573.5489 : nombre invalide
Comment contourner cela ?
Utiliser 'bc' en est une manière. En soi, simplement avec scale=n. Il n'est pas nécessaire de le rediriger comme dans certains exemples. N'oubliez pas que scale fonctionne uniquement avec la division et pour diviser votre somme d'entrée par un. Consultez la réponse de @user525061
L'autre option, surtout si vous avez déjà du code utilisant la méthode printf, pourrait être de changer la localisation de votre session shell en utilisant 'export'.
Essayez :
export LC_NUMERIC=C
Mais cela va à l'encontre de la simplicité de printf....