2017-04-30 04:54:41 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								function write_num_cm2(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									var idx = fmt.length - 1;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									while(fmt.charCodeAt(idx-1) === 44) --idx;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									return write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								}
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								function write_num_pct2(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									var sfmt = fmt.replace(pct1,""), mul = fmt.length - sfmt.length;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									return write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill("%",mul);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								}
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								function write_num_exp2(fmt/*:string*/, val/*:number*/)/*:string*/{
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									var o/*:string*/;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									var idx = fmt.indexOf("E") - fmt.indexOf(".") - 1;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									if(fmt.match(/^#+0.0E\+0$/)) {
							 | 
						
					
						
							
								
									
										
										
										
											2017-05-08 03:49:05 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
										if(val == 0) return "0.0E+0";
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										else if(val < 0) return "-" + write_num_exp2(fmt, -val);
							 | 
						
					
						
							
								
									
										
										
										
											2017-04-30 04:54:41 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
										var period = fmt.indexOf("."); if(period === -1) period=fmt.indexOf('E');
							 | 
						
					
						
							
								
									
										
										
										
											2017-05-08 03:49:05 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
										var ee = Math.floor(Math.log(val)*Math.LOG10E)%period;
							 | 
						
					
						
							
								
									
										
										
										
											2017-04-30 04:54:41 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
										if(ee < 0) ee += period;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										o = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										if(!o.match(/[Ee]/)) {
							 | 
						
					
						
							
								
									
										
										
										
											2017-05-08 03:49:05 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
											var fakee = Math.floor(Math.log(val)*Math.LOG10E);
							 | 
						
					
						
							
								
									
										
										
										
											2017-04-30 04:54:41 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
											if(o.indexOf(".") === -1) o = o.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
											else o += "E+" + (fakee - ee);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
											o = o.replace(/\+-/,"-");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										}
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										o = o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + "." + $3.substr(ee) + "E"; });
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									} else o = val.toExponential(idx);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									if(fmt.match(/E\+00$/) && o.match(/e[+-]\d$/)) o = o.substr(0,o.length-1) + "0" + o.charAt(o.length-1);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									if(fmt.match(/E\-/) && o.match(/e\+/)) o = o.replace(/e\+/,"e");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									return o.replace("e","E");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								}
							 |