This value.toString() seems odd now that if addZeros is called it already turned 'value' into a string.