Buenas tardes. De antemano muchas gracias po su atención estoy desarrollando un sistema de ventas con la base de todos mysql, lo que quiero es obtener el monto vendido en letras para que se imprima en una boleta o factura. Espero que me puedas ayudar, muchas gracias
Crea una Función en "RETURN TYPE" selecciona "STRING" Y en "Agument Type" pone "Double" y "Argument Name" escribi "nimp" Luego pega el siguiente código: long nUni, nDec, nCen, nA, nMil int li_dec string lsHasta29[], lsCentenas[], lsDecenas[] lsHasta29[1] = '' lsHasta29[2] = ' uno' lsHasta29[3] = ' dos' lsHasta29[4] = ' tres' lsHasta29[5] = ' cuatro' lsHasta29[6] = ' cinco' lsHasta29[7] = ' seis' lsHasta29[8] = ' siete' lsHasta29[9] = ' ocho' lsHasta29[10] = ' nueve' lsHasta29[11] = ' diez' lsHasta29[12] = ' once' lsHasta29[13] = ' doce' lsHasta29[14] = ' trece' lsHasta29[15] = ' catorce' lsHasta29[16] = ' quince' lsHasta29[17] = ' dieciseis' lsHasta29[18] = ' diecisiete' lsHasta29[19] = ' dieciocho' lsHasta29[20] = ' diecinueve' lsHasta29[21] = ' veinte' lsHasta29[22] = ' veintiuno' lsHasta29[23] = ' veintidos' lsHasta29[24] = ' veintitres' lsHasta29[25] = ' veinticuatro' lsHasta29[26] = ' veinticinco' lsHasta29[27] = ' veintiseis' lsHasta29[28] = ' veintisiete' lsHasta29[29] = ' veintiocho' lsHasta29[30] = ' veintinueve' lsDecenas[3] = ' treinta' lsDecenas[4] = ' cuarenta' lsDecenas[5] = ' cincuenta' lsDecenas[6] = ' sesenta' lsDecenas[7] = ' setenta' lsDecenas[8] = ' ochenta' lsDecenas[9] = ' noventa' lsCentenas[1] = '' lsCentenas[2] = ' ciento' lsCentenas[3] = ' doscientos' lsCentenas[4] = ' trescientos' lsCentenas[5] = ' cuatrocientos' lsCentenas[6] = ' quinientos' lsCentenas[7] = ' seiscientos' lsCentenas[8] = ' setecientos' lsCentenas[9] = ' ochocientos' lsCentenas[10] = ' novecientos' String sA, sImp sImp = Left( String( nImp, '000000000000.00' ), 12 ) For nA = 1 to 4 nMil = Long( Mid( sImp, nA * 3 - 2, 3 ) ) nCen = Int( nMil / 100 ) nDec = Int( ( nMil - nCen * 100 ) / 10 ) nUni = nMil - nCen * 100 - nDec * 10 If nMil = 100 Then sA = sA + ' cien' ElseIf nDec < 3 Then If nUni = 1 and ( nA = 1 or nA = 3 ) Then choose case nDec case 0 sA = sA + lsCentenas[nCen + 1] + ' un' case 1 sA = sA + lsCentenas[nCen + 1] + ' once' case 2 sA = sA + lsCentenas[nCen + 1] + ' veintiún' end choose Else sA = sA + lsCentenas[nCen + 1] + lsHasta29[nDec*10+nUni + 1] End If Else sA = sA + lsCentenas[nCen + 1] + lsDecenas[nDec] If nUni <> 0 Then If nUni = 1 and ( nA = 1 or nA = 3 ) Then sA = sA + ' y un' Else sA = sA + ' y' + lsHasta29[nUni + 1] End If End If End If If ( nA = 1 or nA = 3 ) and nMil <> 0 Then sA = sA + ' mil' End If If nA = 2 and sA <> '' Then If sA = ' uno' Then sA = ' un millon' ElseIf sA = ' veintiuno' THEN sA = " veintiún" + ' millones' Else sA = sA + ' millones' End If End If If nA = 4 and sA = '' Then sA = ' cero' End If Next li_dec = abs((round(nImp,2) - truncate(nImp,0)) *100) sA = sA + ' con ' + Right("00"+String(li_dec),2) + "/100" Return sA Listo, cada vez que necesitas convertir llamas a la función dándole el monto y capturas el resultado en una variable de texto. PDT: Por si acaso en un rato voy a subir un ejemplo con eso a este link.