Varrience
399 chars
(under 400 lets go!)
a=",one,two,three,four,five,six,seven,eight,nine,ten,twen,thir,for,fif,six,seven,eigh,nine,,thousand,million,billion,ten,eleven,twelve,,fourteen".split(",");function c(e){for(d=e.toString().split("").map(Number),r="",j=v=d.length;j>0;j-=3)u=d[j-1],o=d[j-2],r=((p=d[j-3])?a[p]+" hundred ":"")+(o>1?a[o+9]+"ty"+(u?"-":""):"")+(1==o?a[u+23]||a[u+9]+"teen":a[u])+(u+o?" ":"")+a[(v-j)/3+19]+" "+r;return r}
379 chars
a=",one,two,three,four,five,six,seven,eight,nine,ten,twen,thir,for,fif,six,seven,eigh,nine,,thousand,million,billion,ten,eleven,twelve,,fourteen".split(","),c=n=>{for(r=e="",j=v=(d=(n+e).split(e)).length;j>0;)u=d[--j],o=d[--j],r=((p=d[--j])-0?a[p]+" hundred ":e)+(o>1?a[o- -9]+"ty"+(u?"-":e):e)+(1==o?a[u-0+23]||a[u-0+9]+"teen":a[u])+(u+o==0?e:" ")+a[(v-j)/3+18]+" "+r;return r};
You never mentioned having to do it in code.org.