Example #1
0
def numero_a_letras(d,moneda=False):
    """
    Modificación realizada por jrocamonde para que permita decimales,
    el programa original number_to_letter.to_word no lo permitía.
    """
    from number_to_letter import to_word
    try:
        numero=punto_fijo(d)
    except:
        raise ValueError("%s no es un numero válido" % d)
    
    p_entera=int(numero)
    p_decimal=int(str(numero % 1).replace('0.',''))
    num_entero=to_word(p_entera).strip() if p_entera <> 0 else 'Cero'
    num_decimal=to_word(p_decimal).strip() if p_decimal <> 0 else None
    v={'num_entero':num_entero,
       'num_decimal':num_decimal}
    v['moneda']='Euro' if p_entera==1 else 'Euros'
    v['centimo']='Céntimo' if p_decimal==1 else 'Céntimos'
    
    if moneda:
        if num_decimal:
            resultado="%(num_entero)s %(moneda)s con %(num_decimal)s %(centimo)s"
        else:
            resultado="%(num_entero)s %(moneda)s"
    else:
        if num_decimal:
            resultado="%(num_entero)s con %(num_decimal)s"
        else:
            resultado="%(num_entero)s"
        
    return resultado % v
Example #2
0
    def test_to_word(self):

        cont_msg = 0
        for country in self.list_countries:
            self.assertEqual(number_to_letter.to_word(self.list_number[0], country), self.list_messages[cont_msg])
            cont_msg += 1

        cont_msg = 0
        cont_num = 1
        for country in self.list_countries:
            self.assertEqual(
                number_to_letter.to_word(self.list_number[cont_num], country), self.list_messages2[cont_msg]
            )
            cont_msg += 1
            cont_num += 1
Example #3
0
    def test_to_word(self):

        cont_msg = 0
        for country in self.list_countries:
            self.assertEqual(
                number_to_letter.to_word(self.list_number[0], country),
                self.list_messages[cont_msg])
            cont_msg += 1

        cont_msg = 0
        cont_num = 1
        for country in self.list_countries:
            self.assertEqual(
                number_to_letter.to_word(self.list_number[cont_num], country),
                self.list_messages2[cont_msg])
            cont_msg += 1
            cont_num += 1
Example #4
0
    def test_to_word(self):
        self.assertEqual(
            number_to_letter.to_word(self.number1),
            "Cien  Pesos"
        )

        self.assertEqual(
            number_to_letter.to_word(self.number2),
            "Dos Mil Pesos"
        )

        self.assertEqual(
            number_to_letter.to_word(self.number3),
            "Trescientos Mil Pesos"
        )

        self.assertEqual(
            number_to_letter.to_word(self.number4),
            "Cuatro Millones Pesos"
        )

        self.assertEqual(
            number_to_letter.to_word(self.number5),
            "Quinientos Millones Pesos"
        )

        self.assertEqual(
            number_to_letter.to_word(self.number6),
            "No es posible convertir el numero a letras"
        )
Example #5
0
 def _amount_to_words(self):
     self.dsn_amount_in_words = number_to_letter.to_word(self.total, 'EUR')