Как установить настраиваемые переменные аргументов в bash? [Дубликат]

«число десятичных знаков» на самом деле не является свойством числа с плавающей запятой из-за того, как они хранятся и обрабатываются внутри страны. Вы можете получить столько знаков после запятой, сколько хотите, из числа с плавающей запятой. Вопрос в том, насколько точно вы хотите. При преобразовании числа с плавающей точкой в ​​строку часть процесса принимает решение о точности.

Попробуйте, например:

  1.1 - int (1.1)  

И вы увидите, что ответ:

  0.10000000000000009  

Итак, для этого случая число десятичных знаков равно 17. Это номер, который вы хотите?

Наверное, нет.

Вы можете, однако, округлить число до определенного числа десятичных знаков с помощью «round»:

  round (3.1415 - int (3.1415), 3)  

Для этого случая число десятичных дробей разрезается на 3.

t получить «количество десятичных знаков от поплавка», но вы можете определить точность и сколько хотите. Преобразование float в строку является одним из способов принятия такого решения.

59
задан John Fear 13 June 2013 в 19:09
поделиться

1 ответ

$*, без кавычек, расширяется до двух слов. Вам нужно процитировать его так, чтобы someApp получал один аргумент.

someApp "$*"

Возможно, вы захотите использовать $@ вместо этого, чтобы someApp получил два аргумента, если бы вы были вызовите b.sh как

b.sh 'My first' 'My second'

С someApp "$*", someApp получит один аргумент My first My second. С помощью someApp "$@", someApp получит два аргумента: My first и My second.

99
ответ дан chepner 16 August 2018 в 10:54
поделиться
  • 1
    Ключ, который легко пропустить, заключается в том, что «$ @» должно быть, цитируется. $ @ недостаточно. – miracle2k 21 June 2014 в 12:48
  • 2
    @ miracle2k Правильно. Без кавычек $@ и $* работают одинаково. – chepner 21 June 2014 в 15:19
  • 3
    @Matt Это совсем другое. & Quot; $ @ & Quot; особенность в том, что он цитирует каждый аргумент отдельно. Это может привести к более чем одному аргументу. & Quot; $ что-то & Quot; это просто кавычки вокруг любого $ something, расширяющегося до и всегда будет единственным аргументом. – Carlo Wood 26 January 2017 в 13:59
Другие вопросы по тегам:

Похожие вопросы: