bc игнорирует параметр масштаба
Я не могу понять, почему bc tool иногда игнорирует параметр масштаба.
Вот пример:
> echo 'scale=2; 2.777 - 1.4744' | bc
1.3026
Ожидаемый результат:
1.30
Дополнительная информация:
> bash --version
GNU bash, version 2.05b.0(1)-release (x86_64-suse-linux)
Copyright (C) 2002 Free Software Foundation, Inc.
> bc --version
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
2 ответа
Решение
Как указал Карл, если вы проверите справочную страницу, вы можете найти эту строку. речь идет о объяснениях выражения. вычитание не будет читать scale
переменная. Если вы хотите получить ожидаемый результат (1,30), вы можете:
kent$ echo 'scale=2; (2.777 - 1.4744)/1' | bc
1.30
/
операция будет читать scale
переменная.
От bc(1)
справочная страница:
Если специально не указано, масштаб результата - это максимальный масштаб задействованных выражений.
1.4744
имеет масштаб 4
так вот что происходит с твоим выражением.