Lo que tengo hasta el momento es lo siguiente, pero me funciona para transformar números del tipo 2345000 pero me falta agregar algo para que pueda utilizar la variable "cientos"... ¿me ayudan?
id = 5614234000022003000; /////este es un ejemplo
rec = zoho.crm.getRecordById("MODULO",id);
monto = rec.get("MONTO");
info monto;
th = {"","mil","millones","billón","trillón"};
// uncomment this line for English Number System
// th = {"","thousand","million", "milliard","billion"};
dg = {"cero","uno","dos","tres","cuatro","cinco","seis","siete","ocho","nueve"};
tn = {"diez","once","doce","trece","catorce","quince","dieciséis","diecisiete","dieciocho","diecinueve"};
tw = {"veinte","treinta","cuarenta","cincuenta","sesenta","setenta","ochenta","noventa"};
tz = {"cien","doscientos","trescientos","cuatrocientos","quinientos","seiscientos","setecientos","ochocientos","novecientos"};
val_s = monto;
x = val_s.length();
info x;
if(x > 15)
{
info "too big";
}
else
{
s = val_s.replaceAll("(?)",",",false).removeFirstOccurence(",").removeLastOccurence(",").toList();
str = "";
sk = 1;
bypass = false;
for each index i in s
{
cur = s.get(i).toLong();
if(!bypass)
{
if((x - i) % 3 == 2)
{
if(cur == 1)
{
next = s.get(i + 1).toLong();
str = str + tn.get(next) + " ";
bypass = true;
sk = 1;
}
else if(cur != 0)
{
str = str + tw.get(cur - 2) + " ";
sk = 1;
}
}
else if(cur != 0)
{
str = str + dg.get(cur) + " ";
if((x - i) % 3 == 0)
{
str = str + "cientos ";
sk = 1;
}
}
}
else
{
bypass = false;
}
if((x - i) % 3 == 1)
{
if(sk != 0)
{
str = str + th.get(floor((x - i - 1) / 3)) + " ";
sk = 0;
}
}
}
info str;
}