Jane Bailey is a self-published author of urban fantasy novels as well as a part-time blogger; in her day job, she works in SQA, where she sees plenty of WTFs.

When I was but a wee lass, the internet was still a wild, untamed place. Before the advent of walled gardens and minifiers, long before Facebook, you could learn everything you needed to know about web programming using one simple tool: View -> Source.

Wide open fields of HTML, speckled with poignant blossoms of inline CSS! Table after table, each one hand-crafted and oddly indented! Gifs ripe for stealing: dancing flames, dancing babies, and 'under construction' signs! What a wonderful world of secrets lay hidden just two clicks away!

Sometimes, in rare occasions, you can still see whole, unmolested Javascript functions in the source code of pages. Today's function comes from a credit union, ready and waiting to teach a new generation of programmers all about number parsing.

function formatNum(Vnum) { if (Vnum > 99000000) { alert("Sorry, this will not generate numbers larger that 99 million."); focus(); } else { var V10million = parseInt(Vnum / 10000000); var V1million = (Vnum % 10000000) / 1000000; if (V1million / 1000000 == 1) { V1million = 1; } else if (V1million < 1) { V1million = "0"; } else { V1million = parseInt(V1million, 10); } var V100thousand = (Vnum % 1000000) / 100000; if (V100thousand / 100000 == 1) { V100thousand = 1; } else if (V100thousand < 1) { V100thousand = "0"; } else { V100thousand = parseInt(V100thousand, 10); } var V10thousand = (Vnum % 100000) / 10000; if (V10thousand / 10000 == 1) { V10thousand = 1; } else if (V10thousand < 1) { V10thousand = "0"; } else { V10thousand = parseInt(V10thousand, 10); } var V1thousand = (Vnum % 10000) / 1000; if (V1thousand / 1000 == 1) { V1thousand = 1; } else if (V1thousand < 1) { V1thousand = "0"; } else { V1thousand = parseInt(V1thousand, 10); } var Vhundreds = (Vnum % 1000) / 100; if (Vhundreds / 100 == 1) { Vhundreds = 1; } else if (Vhundreds < 1) { Vhundreds = "0"; } else { Vhundreds = parseInt(Vhundreds, 10); } var Vtens = (Vnum % 100) / 10; if (Vtens / 10 == 1) { Vtens = 1; } else if (Vtens < 1) { Vtens = "0"; } else { Vtens = parseInt(Vtens, 10); } var Vones = (Vnum % 10) / 1; if (Vones / 1 == 1) { Vones = 1; } else if (Vones < 1) { Vones = "0"; } else { Vones = parseInt(Vones, 10); } var Vcents = parseInt(((Vnum % 1) * 100), 10); if (Vcents < 1) { Vcents = "00"; } else if (Vcents % 10 == 0) { Vcents = Vcents + "0"; } else if (Vcents % 10 == Vcents) { Vcents = "0" + Vcents; } else { Vcents = Vcents; } if (Vcents == "900") { Vcents = "90"; } else if (Vcents == "800") { Vcents = "80"; } else if (Vcents == "700") { Vcents = "70"; } else if (Vcents == "600") { Vcents = "60"; } else if (Vcents == "500") { Vcents = "50"; } else if (Vcents == "400") { Vcents = "40"; } else if (Vcents == "300") { Vcents = "30"; } else if (Vcents == "200") { Vcents = "20"; } else if (Vcents == "100") { Vcents = "10"; } else { Vcents = Vcents; } var Vformat = ""; if (Vnum >= 10000000) { Vformat = (V10million + "" + V1million + "," + V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents); } else if (Vnum >= 1000000) { Vformat = (V1million + "," + V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents); } else if (Vnum >= 100000) { Vformat = (V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents); } else if (Vnum >= 10000) { Vformat = (V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents); } else if (Vnum >= 1000) { Vformat = (V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents); } else if (Vnum >= 100) { Vformat = (Vhundreds + "" + Vtens + "" + Vones + "." + Vcents); } else if (Vnum >= 10) { Vformat = (Vtens + "" + Vones + "." + Vcents); } else if (Vnum >= 1) { Vformat = (Vones + "." + Vcents); } else { Vformat = ("0." + Vcents); } return Vformat; } }

Inputting "8343.33" to this function results in the output of "8,343.32". Why? It's a feature. Ship it!