| 31072 | }; |
| 31073 | |
| 31074 | function doNf() { |
| 31075 | var num = arguments[0]; |
| 31076 | var neg = num < 0; |
| 31077 | var n = neg ? num.toString().substring(1) : num.toString(); |
| 31078 | var decimalInd = n.indexOf('.'); |
| 31079 | var intPart = decimalInd !== -1 ? n.substring(0, decimalInd) : n; |
| 31080 | var decPart = decimalInd !== -1 ? n.substring(decimalInd + 1) : ''; |
| 31081 | var str = neg ? '-' : ''; |
| 31082 | if (arguments.length === 3) { |
| 31083 | var decimal = ''; |
| 31084 | if(decimalInd !== -1 || arguments[2] - decPart.length > 0){ |
| 31085 | decimal = '.'; |
| 31086 | } |
| 31087 | if (decPart.length > arguments[2]) { |
| 31088 | decPart = decPart.substring(0, arguments[2]); |
| 31089 | } |
| 31090 | for (var i = 0; i < arguments[1] - intPart.length; i++) { |
| 31091 | str += '0'; |
| 31092 | } |
| 31093 | str += intPart; |
| 31094 | str += decimal; |
| 31095 | str += decPart; |
| 31096 | for (var j = 0; j < arguments[2] - decPart.length; j++) { |
| 31097 | str += '0'; |
| 31098 | } |
| 31099 | return str; |
| 31100 | } |
| 31101 | else { |
| 31102 | for (var k = 0; k < Math.max(arguments[1] - intPart.length, 0); k++) { |
| 31103 | str += '0'; |
| 31104 | } |
| 31105 | str += n; |
| 31106 | return str; |
| 31107 | } |
| 31108 | } |
| 31109 | |
| 31110 | /** |
| 31111 | * Utility function for formatting numbers into strings and placing |