You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seu pedido de recurso está relacionado a um problema? Por favor, descreva.
Preciso de uma função que formate valores numéricos (float) em reais (R$) de forma adequada, retornando uma string formatada. Isso é útil para garantir que os valores monetários sejam apresentados corretamente em sistemas e relatórios.
Por exemplo, converter 1234.56 para "R$ 1.234,56".
Descreva a solução que você gostaria
Uma função format_brl, que recebe um valor numérico (float) e retorna uma string formatada com o símbolo de reais (R$) e os separadores adequados para milhares e decimais.
A função deve verificar se a entrada é válida (por exemplo, se é um número). Se a entrada for inválida, a função deve retornar None.
A função deve lidar com entradas como 0, valores negativos, e números grandes.
A função deve seguir o padrão de formatação brasileiro, onde o ponto (.) separa os milhares e a vírgula (,") separa os decimais.
A função deve retornar None para entradas como: strings, None, valores não numéricos ou estruturas de dados complexas.
Como parte do passo 8, criar o arquivo: brutils-python/brutils/currency.py.
defformat_brl(value): # type: (float) -> str | None""" Formats a given float as Brazilian currency (R$). This function takes a float value and returns a formatted string representing the value as Brazilian currency, using the correct thousand and decimal separators. Args: value (float): The numeric value to be formatted. Returns: str or None: A string formatted as Brazilian currency, or None if the input is invalid. Example: >>> format_brl(1234.56) "R$ 1.234,56" >>> format_brl(0) "R$ 0,00" >>> format_brl(-9876.54) "R$ -9.876,54" >>> format_brl(None) None >>> format_brl("not a number") None """# implementar a lógica da função aqui
Como parte do passo 9, criar o arquivo de teste: brutils-python/tests/test_currency.py.
fromunittestimportTestCasefrombrutils.currencyimportformat_brlclassTestCurrency(TestCase):
deftest_format_brl(self):
# Testes para valores válidosself.assertEqual(format_brl(1234.56), "R$ 1.234,56")
self.assertEqual(format_brl(0), "R$ 0,00")
self.assertEqual(format_brl(987654321.99), "R$ 987.654.321,99")
self.assertEqual(format_brl(-9876.54), "R$ -9.876,54")
# Testes para valores inválidosself.assertIsNone(format_brl(None)) # Valor nuloself.assertIsNone(format_brl("1234.56")) # String numéricaself.assertIsNone(format_brl([])) # Listaself.assertIsNone(format_brl({})) # Dicionárioself.assertIsNone(format_brl(set())) # Conjuntoself.assertIsNone(format_brl("not a number")) # String não numérica# implementar mais casos de teste aqui se necessário
A função deve seguir o padrão brasileiro de formatação de moeda e considerar todos os edge cases possíveis, como valores negativos, zeros, e entradas inválidas.
The text was updated successfully, but these errors were encountered:
Seu pedido de recurso está relacionado a um problema? Por favor, descreva.
Preciso de uma função que formate valores numéricos (float) em reais (R$) de forma adequada, retornando uma string formatada. Isso é útil para garantir que os valores monetários sejam apresentados corretamente em sistemas e relatórios.
Por exemplo, converter
1234.56
para"R$ 1.234,56"
.Descreva a solução que você gostaria
format_brl
, que recebe um valor numérico (float) e retorna uma string formatada com o símbolo de reais (R$) e os separadores adequados para milhares e decimais.None
.0
, valores negativos, e números grandes..
) separa os milhares e a vírgula (,"
) separa os decimais.None
para entradas como: strings,None
, valores não numéricos ou estruturas de dados complexas.Descreva alternativas que você considerou
Seguir até o passo 8 do guia de contribuição.
Como parte do passo 8, criar o arquivo:
brutils-python/brutils/currency.py
.Como parte do passo 9, criar o arquivo de teste:
brutils-python/tests/test_currency.py
.Seguir os passos seguintes do guia de contribuição.
Contexto adicional
A função deve seguir o padrão brasileiro de formatação de moeda e considerar todos os edge cases possíveis, como valores negativos, zeros, e entradas inválidas.
The text was updated successfully, but these errors were encountered: