38. Formatea un precio

Crea una función que formatee un número (entero o flotante) como una cadena de texto de precio, incluyendo el símbolo de la moneda y separadores de miles y decimales.

La función debe aceptar un número (valor) y opcionalmente un simbolo_moneda (por defecto $), un separador_miles (por defecto ’,’) y un separador_decimal (por defecto ’.’). Debe devolver una cadena de texto formateada.

def formatear_precio(valor: float, simbolo_moneda: str = '$',
                     separador_miles: str = ',', separador_decimal: str = '.') -> str:
    # Tu código aquí
    pass

formatear_precio(12345.67)
# "$12,345.67"

formatear_precio(999)
# "$999.00"

formatear_precio(1234567.89, simbolo_moneda='€', separador_miles='.', separador_decimal=',')
# "€1.234.567,89"

formatear_precio(0.5)
# "$0.50"

Ratoncito

Formatea el número con dos decimales y el separador de miles. Asume valores positivos.

Dragón

Añade manejo para:

  • Valores negativos (por ejemplo, mostrando el signo antes del símbolo de la moneda o envolviendo el valor en paréntesis).

  • Control de la cantidad de decimales (por ejemplo, un parámetro decimales: int = 2).

  • Monedas que tienen el símbolo después del valor (ej. "100 €").

  • Redondeo correcto de los decimales.

Este trabajo está bajo una licencia Attribution-NonCommercial-NoDerivatives 4.0 International.

¿Me invitas a un café?

Visitantes en tiempo real

Estás solo: 🐱