Entradas

Mostrando entradas de diciembre, 2024

Convertir Números en letras en LibreOffice

A continuación te presento un ejemplo de macro en LibreOffice Basic que convierte un número (hasta millones) en su representación en letras en español. Puedes copiar este código en el editor de macros de LibreOffice (Menú: Herramientas → Macros → Organizar macros → LibreOffice Basic) y luego asignarlo a una función o a un botón según necesites. ----------------------------- ' Función principal: recibe un número y devuelve su representación en letras. Function NumeroALetras(ByVal numero As Double) As String Dim entero As Long entero = Int(numero) NumeroALetras = ConvertirNumero(entero) End Function ' Función que descompone el número en millones, miles y unidades menores de 1000. Function ConvertirNumero(ByVal numero As Long) As String Dim texto As String Dim millones As Long, miles As Long, resto As Long If numero = 0 Then ConvertirNumero = "cero" Exit Function End If ' Obtener la parte de millones, miles y el rest...

código para llenar pagarés

    from num2words import num2words from datetime import datetime import tkinter as tk from tkinter import messagebox , scrolledtext def numero_a_letras ( num ): """ Convierte un número a letras, incluyendo decimales. """ if isinstance ( num , int ) or num .is_integer(): return num2words ( int ( num ), lang = 'es' ) parte_entera = int ( num ) parte_decimal = int ( round ( num % 1 , 2 ) * 100 ) # Si la parte decimal es 0, no incluirla if parte_decimal == 0 : return num2words ( parte_entera , lang = 'es' ) letras_entero = num2words ( parte_entera , lang = 'es' ) # Eliminar ceros finales innecesarios en la parte decimal letras_decimal = "punto " + " " . join ( num2words ( int ( d ), lang = 'es' ) for d in str ( parte_decimal ). rstrip ( '0' )) return f " { letras_entero } { letras_decimal } ...