Sintaxe
M
fnAddOrdinalSuffixEN(SingleNumber as nullable number) as nullable textParâmetros
- SingleNumbernullable numberObrigatório
Número inteiro.
M22
Tipo de retorno
nullable text
Exemplos
M
fnAddOrdinalSuffixEN(22)
// "22nd"
fnAddOrdinalSuffixEN(112)
// "112th"
fnAddOrdinalSuffixEN(101)
// "101st"Código completo
M
let
fnAddOrdinalSuffixEN = (SingleNumber as nullable number) as nullable text =>
let
// O sinal não muda o sufixo: -1 → "-1st"
vAbs = Number.Abs(SingleNumber),
vDoisUltimos = Number.Mod(vAbs, 100),
vUltimo = Number.Mod(vAbs, 10),
// 11, 12 e 13 são exceção: sempre "th"
vSufixo =
if List.Contains({11, 12, 13}, vDoisUltimos) then "th"
else if vUltimo = 1 then "st"
else if vUltimo = 2 then "nd"
else if vUltimo = 3 then "rd"
else "th"
in
if SingleNumber = null then null else Text.From(SingleNumber, "en-US") & vSufixo,
Documentacao = [
Documentation.Name = "fnAddOrdinalSuffixEN",
Documentation.Description = "Adiciona o sufixo ordinal em inglês (1st, 2nd, 3rd, 4th...).",
Documentation.LongDescription = "Recebe um número inteiro e devolve o número com o sufixo ordinal do inglês. Números terminados em 11, 12 e 13 levam sempre 'th'. Entrada null retorna null.",
Documentation.Category = "Texto",
Documentation.Author = "Paulo André Jesus",
Documentation.Version = "1.1",
Documentation.Examples = {
[Description = "Regra geral", Code = "fnAddOrdinalSuffixEN(22)", Result = """22nd"""],
[Description = "Exceção", Code = "fnAddOrdinalSuffixEN(112)", Result = """112th"""],
[Description = "Centena", Code = "fnAddOrdinalSuffixEN(101)", Result = """101st"""]
}
]
in
Value.ReplaceType(fnAddOrdinalSuffixEN, Value.ReplaceMetadata(Value.Type(fnAddOrdinalSuffixEN), Documentacao))Mais informações
- Fonte
- Paulo André Jesus — OfficeTuning
- Versão
- 1.1