Fn::Calculate avalia uma expressão de string e retorna o resultado do cálculo.
Declaração
-
JSON
{ "Fn::Calculate": [ "expression", ndigits, [ <number1>, <number2>, ... ] ] } -
YAML
-
Sintaxe do nome completo da função:
Fn::Calculate: - expression - ndigits - - <number1> - <number2> - ... -
Sintaxe da forma abreviada:
!Calculate - expression - ndigits - - <number1> - <number2> - ...
-
Parâmetros
expression: expressão do tipo String.ndigits: número de casas decimais do resultado. O valor deve ser 0 ou um inteiro positivo. Esse parâmetro só tem efeito quando a expressão contém números de ponto flutuante.[<number0>, <number1>, <number2>, ... ]: opcional. Defina {n} na expressão, em que n representa o índice de um número. Durante o cálculo, {n} é substituído pelo número correspondente.
Valor de retorno
Resultado do cálculo da expressão, retornado como Number.
Exemplos
!Calculate
- (2+3)/2*3-1
- 1
!Calculate
- (2.0+3)/2*3-1
- 1
!Calculate
- ({1}+3)/2*3-1
- 1
- - 3
- 5
- 6
!Calculate
- ({0}+{1})%3
- 0
- - 5
- 6
Os exemplos anteriores retornam os seguintes resultados:
5
6.5
11
2
A divisão de inteiros trunca as casas decimais. Por exemplo, 5/2 = 2. Portanto, o valor de retorno de Fn::Calculate:(2+3)/2*3-1, 1 é 5.