var number = '1e3003' // number only works for numbers less than 1e309 anything past that must be a string
var fnum, Coef, capE, Expn2, Expn3
var Expn2 = 0, SetV = -1
var MultiNum = ""
console.log("Original Number: " + number)
// Number limit raised : 9e308 -> 1e9E308
function Eshort() {
sepE()
Expn = Number(Expn)
Expn3 = Expn
if (Expn >= 1000) {
while (Expn >= 10) {
Expn /= 10
Expn2 += 1
}
}
Expn = (Math.floor(100 * Number(Expn))) / 100
if (Expn2 > 0) {
console.log(Coef + "e" + Expn + "E" + Expn2)
} else {
console.log(Coef + "e" + Expn)
}
}
function sepE() {
[Coef, Expn] = number.toLowerCase().split('e');
}
if (typeof(number) == "number") {
short()
} else if (typeof(number) == "string") {
Eshort()
} else {
console.log("More soon, use a number or string")
}
// each set increases by X*1e3
var Sets = ["k", "M", "B"];
var FirstOnes = ["", "U", "D", "T", "Qd", "Qn", "Sx", "Sp", "Oc", "No"];
var SecondOnes = ["", "De", "Vt", "Tg", "qg", "Qg", "sg", "Sg", "Og", "Ng"];
var ThirdOnes = ["", "Ce", "Du", "Tr", "Qa", "Qi", "Se", "Si", "Ot", "Ni"];
var MultOnes = [
"", "Mi","Mc","Na","Pi","Fm","At","Zp","Yc", "Xo", "Ve", "Me",
"Due", "Tre", "Te", "Pt", "He", "Hp", "Oct", "En", "Ic", "Mei",
"Dui", "Tri", "Teti", "Pti", "Hei", "Hp", "Oci", "Eni", "Tra","TeC",
"MTc","DTc","TrTc","TeTc","PeTc","HTc","HpT","OcT","EnT","TetC","MTetc",
"DTetc","TrTetc","TeTetc","PeTetc","HTetc","HpTetc","OcTetc","EnTetc","PcT",
"MPcT","DPcT","TPCt","TePCt","PePCt","HePCt","HpPct","OcPct","EnPct","HCt",
"MHcT","DHcT","THCt","TeHCt","PeHCt","HeHCt","HpHct","OcHct","EnHct","HpCt",
"MHpcT","DHpcT","THpCt","TeHpCt","PeHpCt","HeHpCt","HpHpct","OcHpct","EnHpct",
"OCt","MOcT","DOcT","TOCt","TeOCt","PeOCt","HeOCt","HpOct","OcOct","EnOct","Ent","MEnT",
"DEnT","TEnt","TeEnt","PeEnt","HeEnt","HpEnt","OcEnt","EnEnt","Hect", "MeHect"
];
var SetsW = ["Thousand", "Million", "Billion"];
var FirstOnesW = ["", "", "", "Trillion", "Quadrillion", "Quintillion", "Sextillion", "Septillion", "Octillion", "Nonillion"];
var SecondOnesW = ["", "Decillion", "Vigintillion", "Trigintillion", "Quagintillion", "Quingintillion", "Sexgintillion", "Septgintillion", "Octogintillion", "Nonagintillion"];
var ThirdOnesW = ["", "Centillion", "Duecentillion", "Trecentillion", "Quadringentillion", "Quingentillion", "Sescentillion", "Septingentillion", "Octingentillion", "Nongentillion"];
var MultOnesW = [
"", "Millillion", "Micrillion", "Nanillion", "Picillion", "Femtillion", "Attillion", "Zeptillion", "Yoctillion", "Xonillion", "Vecillion", "Mecillion",
"Duecillion", "Trecillion", "Tetrecillion", "Pentecillion", "Hexacillion", "Heptecillion", "Octecillion", "Ennecillion", "Icosillion", "Meicosillion",
"Dueicosillion", "Trioicosillion", "Tetreicosillion", "Penteicosillion", "Hexaicosillion", "Heptaicosillion", "Octeicosillion", "Enneicosillion", "Triacontillion","UNKNOWN",
"Metriacontillion","Duetriacontillion","Triotriacontillion","Tetretriacontillion","Pentetriacontillion,","Hexaconatillion","Heptaconatillion","Octeconatillion","Enneconatillion","Tetretriacontillion","Metetracontillion",
"Duetetracontillion","Triotetracontillion","Tetretetracontillion","Pentetetracontillion","Hexetetracontillion","Heptetetracontillion","Octetetracontillion","Ennetetracontillion","Pentacontillion,",
"Mepentacontillion","Duepentacontillion","Triopentacontillion","Tetrepentacontillion","Pentepentacontillion","Hexacontillion","Heptacontillion","Octacontillion","Ennacontillion","Hectillion",
"Mehectillion","Duehectillion","Triohectillion","Tetrehectillion","Pentehectillion","Hexehectillion","Heptehectillion","Octehectillion","Ennehectillion","Icosehectillion",
"Meicosehectillion","Dohectillion","Triahectillion","Tetrahectillion","Pentahectillion,","Hexahectillion","Heptahectillion","Octahectillion","Ennahectillion",
"Zerillion ","Mezerillion","Duezerillion","Triozerillion","Tetrezerillion","Pentezerillion","Hexezerillion","Heptazerillion","Octezerillion","Ennezerillion","Megillion","Meimegillion",
"Domagillion","Triamegillion","Tetramegillion","Pentamegillion","Hexamegillion","Heptamegillion","Octamegillion","Ennamegillion","Gigillion", "Megigigillion"
];
var Set = [];
for (let i = 0; i < 5; i++) {
Set[i] = false
}
if (Expn3 < 3) {
console.log("Number is to low to suffix")
} else if (Expn3 < 12) {
Set[1] = true;
} else if (Expn3 < 30) {
Set[2] = true
} else if (Expn3 < 303) {
Set[3] = true
} else if (Expn3 < 3003) {
Set[4] = true
} else if (Expn3 >= 3003 && Expn3 < 1e303) {
Set[5] = true
} else {
console.log("Number is to big to suffix")
}
var SetV1 = 0, SetV2 = 0, SetV3 = 0, SetV4 = 0, SetV5 = 0;
var Coef_Final
function SolveSet() {
if (Set[5] == true) {
while (Expn3 >= 3003) {
Expn3 /= 1e3
SetV4 += 1
}
for (let e = SetV4; e > 0; e--) {
MultiNum += MultOnes[e]
}
Set3Loop()
Set2Loop()
Set1Loop()
SetFor()
Coef_Final = Math.floor(Coef * Math.pow(10, (Expn3)))
console.log(Coef_Final + FirstOnes[SetV1] + SecondOnes[SetV2] + ThirdOnes[SetV3] + MultiNum);
console.log(Coef_Final + MultOnesW[SetV4] + ThirdOnesW[SetV3] + SecondOnesW[SetV2] + FirstOnesW[SetV1])
} else if (Set[4] == true ) {
Set3Loop()
Set2Loop()
Set1Loop()
SetFor()
Coef_Final = Math.floor(Coef * Math.pow(10, (Expn3)))
console.log(Coef_Final + FirstOnes[SetV1] + SecondOnes[SetV2] + ThirdOnes[SetV3]);
console.log(Coef_Final + ThirdOnesW[SetV3] + SecondOnesW[SetV2] + FirstOnesW[SetV1])
} else if (Set[3] == true) {
Set2Loop()
Set1Loop()
SetFor()
Coef_Final = Math.floor(Coef * Math.pow(10, (Expn3)))
console.log(Coef_Final + FirstOnes[SetV1] + SecondOnes[SetV2]);
console.log(Coef_Final + SecondOnesW[SetV2] + FirstOnesW[SetV1])
} else if (Set[2] == true) {
Set1Loop()
SetFor()
Coef_Final = Math.floor(Coef * Math.pow(10, (Expn3)))
console.log(Coef_Final + FirstOnesW[SetV1]);
} else if (Set[1] = true) {
Set1Loop()
SetFor()
Coef_Final = Math.floor(Coef * Math.pow(10, (Expn3)))
console.log(Coef_Final + Sets[SetV1]);
console.log(Coef_Final + SetsW[SetV1])
} else {
console.log("Unknown input")
}
}
SolveSet()
// In the way functions
function SetFor() {
if (SetV > 0) {
SetV1 += 1
}
}
function Set1Loop() {
while (Expn3 >= 3) {
Expn3 -= 3
SetV1 += 1
}
}
function Set2Loop() {
while (Expn3 >= 30) {
Expn3 -= 30
SetV2 += 1
}
}
function Set3Loop() {
while (Expn3 >= 303) {
Expn3 -= 300
SetV3 += 1
}
}
clearTimeout()
/* ~~~ Referances ~~~
// temp
function round(num, rounder) {
if (rounder == undefined) {
rounder = 1
}
let p = Math.pow(10, rounder)
num = (Math.floor(num * p) / p)
}
function short() {
var eAmnt = Math.floor(Math.log10(number))
var i = number
while (i => 10) {
i /= 10;
if (i < 10) {
break
}
}
let i2 = (Math.floor(i * 100) / 100)
var Fnum = (i2 + "e" + eAmnt);
console.log(Fnum)
}
for (var i = 0; i < 5; i++) {
console.log("Iteration " + i);
}
//number = number.toString();
str.split('char') */
To embed this project on your website, copy the following code and paste it into your website's HTML: