⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sprintf.js

📁 用最近的dojo1.2.1制作前端的ajax购书网站
💻 JS
字号:
/*	Copyright (c) 2004-2008, The Dojo Foundation All Rights Reserved.	Available via Academic Free License >= 2.1 OR the modified BSD license.	see: http://dojotoolkit.org/license for details*/if(!dojo._hasResource["dojox.string.sprintf"]){dojo._hasResource["dojox.string.sprintf"]=true;dojo.provide("dojox.string.sprintf");dojo.require("dojox.string.tokenize");dojox.string.sprintf=function(_1,_2){for(var _3=[],i=1;i<arguments.length;i++){_3.push(arguments[i]);}var _5=new dojox.string.sprintf.Formatter(_1);return _5.format.apply(_5,_3);};dojox.string.sprintf.Formatter=function(_6){var _7=[];this._mapped=false;this._format=_6;this._tokens=dojox.string.tokenize(_6,this._re,this._parseDelim,this);};dojo.extend(dojox.string.sprintf.Formatter,{_re:/\%(?:\(([\w_]+)\)|([1-9]\d*)\$)?([0 +\-\#]*)(\*|\d+)?(\.)?(\*|\d+)?[hlL]?([\%scdeEfFgGiouxX])/g,_parseDelim:function(_8,_9,_a,_b,_c,_d,_e){if(_8){this._mapped=true;}return {mapping:_8,intmapping:_9,flags:_a,_minWidth:_b,period:_c,_precision:_d,specifier:_e};},_specifiers:{b:{base:2,isInt:true},o:{base:8,isInt:true},x:{base:16,isInt:true},X:{extend:["x"],toUpper:true},d:{base:10,isInt:true},i:{extend:["d"]},u:{extend:["d"],isUnsigned:true},c:{setArg:function(_f){if(!isNaN(_f.arg)){var num=parseInt(_f.arg);if(num<0||num>127){throw new Error("invalid character code passed to %c in sprintf");}_f.arg=isNaN(num)?""+num:String.fromCharCode(num);}}},s:{setMaxWidth:function(_11){_11.maxWidth=(_11.period==".")?_11.precision:-1;}},e:{isDouble:true,doubleNotation:"e"},E:{extend:["e"],toUpper:true},f:{isDouble:true,doubleNotation:"f"},F:{extend:["f"]},g:{isDouble:true,doubleNotation:"g"},G:{extend:["g"],toUpper:true}},format:function(_12){if(this._mapped&&typeof _12!="object"){throw new Error("format requires a mapping");}var str="";var _14=0;for(var i=0,_16;i<this._tokens.length;i++){_16=this._tokens[i];if(typeof _16=="string"){str+=_16;}else{if(this._mapped){if(typeof _12[_16.mapping]=="undefined"){throw new Error("missing key "+_16.mapping);}_16.arg=_12[_16.mapping];}else{if(_16.intmapping){var _14=parseInt(_16.intmapping)-1;}if(_14>=arguments.length){throw new Error("got "+arguments.length+" printf arguments, insufficient for '"+this._format+"'");}_16.arg=arguments[_14++];}if(!_16.compiled){_16.compiled=true;_16.sign="";_16.zeroPad=false;_16.rightJustify=false;_16.alternative=false;var _17={};for(var fi=_16.flags.length;fi--;){var _19=_16.flags.charAt(fi);_17[_19]=true;switch(_19){case " ":_16.sign=" ";break;case "+":_16.sign="+";break;case "0":_16.zeroPad=(_17["-"])?false:true;break;case "-":_16.rightJustify=true;_16.zeroPad=false;break;case "#":_16.alternative=true;break;default:throw Error("bad formatting flag '"+_16.flags.charAt(fi)+"'");}}_16.minWidth=(_16._minWidth)?parseInt(_16._minWidth):0;_16.maxWidth=-1;_16.toUpper=false;_16.isUnsigned=false;_16.isInt=false;_16.isDouble=false;_16.precision=1;if(_16.period=="."){if(_16._precision){_16.precision=parseInt(_16._precision);}else{_16.precision=0;}}var _1a=this._specifiers[_16.specifier];if(typeof _1a=="undefined"){throw new Error("unexpected specifier '"+_16.specifier+"'");}if(_1a.extend){dojo.mixin(_1a,this._specifiers[_1a.extend]);delete _1a.extend;}dojo.mixin(_16,_1a);}if(typeof _16.setArg=="function"){_16.setArg(_16);}if(typeof _16.setMaxWidth=="function"){_16.setMaxWidth(_16);}if(_16._minWidth=="*"){if(this._mapped){throw new Error("* width not supported in mapped formats");}_16.minWidth=parseInt(arguments[_14++]);if(isNaN(_16.minWidth)){throw new Error("the argument for * width at position "+_14+" is not a number in "+this._format);}if(_16.minWidth<0){_16.rightJustify=true;_16.minWidth=-_16.minWidth;}}if(_16._precision=="*"&&_16.period=="."){if(this._mapped){throw new Error("* precision not supported in mapped formats");}_16.precision=parseInt(arguments[_14++]);if(isNaN(_16.precision)){throw Error("the argument for * precision at position "+_14+" is not a number in "+this._format);}if(_16.precision<0){_16.precision=1;_16.period="";}}if(_16.isInt){if(_16.period=="."){_16.zeroPad=false;}this.formatInt(_16);}else{if(_16.isDouble){if(_16.period!="."){_16.precision=6;}this.formatDouble(_16);}}this.fitField(_16);str+=""+_16.arg;}}return str;},_zeros10:"0000000000",_spaces10:"          ",formatInt:function(_1b){var i=parseInt(_1b.arg);if(!isFinite(i)){if(typeof _1b.arg!="number"){throw new Error("format argument '"+_1b.arg+"' not an integer; parseInt returned "+i);}i=0;}if(i<0&&(_1b.isUnsigned||_1b.base!=10)){i=4294967295+i+1;}if(i<0){_1b.arg=(-i).toString(_1b.base);this.zeroPad(_1b);_1b.arg="-"+_1b.arg;}else{_1b.arg=i.toString(_1b.base);if(!i&&!_1b.precision){_1b.arg="";}else{this.zeroPad(_1b);}if(_1b.sign){_1b.arg=_1b.sign+_1b.arg;}}if(_1b.base==16){if(_1b.alternative){_1b.arg="0x"+_1b.arg;}_1b.arg=_1b.toUpper?_1b.arg.toUpperCase():_1b.arg.toLowerCase();}if(_1b.base==8){if(_1b.alternative&&_1b.arg.charAt(0)!="0"){_1b.arg="0"+_1b.arg;}}},formatDouble:function(_1d){var f=parseFloat(_1d.arg);if(!isFinite(f)){if(typeof _1d.arg!="number"){throw new Error("format argument '"+_1d.arg+"' not a float; parseFloat returned "+f);}f=0;}switch(_1d.doubleNotation){case "e":_1d.arg=f.toExponential(_1d.precision);break;case "f":_1d.arg=f.toFixed(_1d.precision);break;case "g":if(Math.abs(f)<0.0001){_1d.arg=f.toExponential(_1d.precision>0?_1d.precision-1:_1d.precision);}else{_1d.arg=f.toPrecision(_1d.precision);}if(!_1d.alternative){_1d.arg=_1d.arg.replace(/(\..*[^0])0*/,"$1");_1d.arg=_1d.arg.replace(/\.0*e/,"e").replace(/\.0$/,"");}break;default:throw new Error("unexpected double notation '"+_1d.doubleNotation+"'");}_1d.arg=_1d.arg.replace(/e\+(\d)$/,"e+0$1").replace(/e\-(\d)$/,"e-0$1");if(dojo.isOpera){_1d.arg=_1d.arg.replace(/^\./,"0.");}if(_1d.alternative){_1d.arg=_1d.arg.replace(/^(\d+)$/,"$1.");_1d.arg=_1d.arg.replace(/^(\d+)e/,"$1.e");}if(f>=0&&_1d.sign){_1d.arg=_1d.sign+_1d.arg;}_1d.arg=_1d.toUpper?_1d.arg.toUpperCase():_1d.arg.toLowerCase();},zeroPad:function(_1f,_20){_20=(arguments.length==2)?_20:_1f.precision;if(typeof _1f.arg!="string"){_1f.arg=""+_1f.arg;}var _21=_20-10;while(_1f.arg.length<_21){_1f.arg=(_1f.rightJustify)?_1f.arg+this._zeros10:this._zeros10+_1f.arg;}var pad=_20-_1f.arg.length;_1f.arg=(_1f.rightJustify)?_1f.arg+this._zeros10.substring(0,pad):this._zeros10.substring(0,pad)+_1f.arg;},fitField:function(_23){if(_23.maxWidth>=0&&_23.arg.length>_23.maxWidth){return _23.arg.substring(0,_23.maxWidth);}if(_23.zeroPad){this.zeroPad(_23,_23.minWidth);return;}this.spacePad(_23);},spacePad:function(_24,_25){_25=(arguments.length==2)?_25:_24.minWidth;if(typeof _24.arg!="string"){_24.arg=""+_24.arg;}var _26=_25-10;while(_24.arg.length<_26){_24.arg=(_24.rightJustify)?_24.arg+this._spaces10:this._spaces10+_24.arg;}var pad=_25-_24.arg.length;_24.arg=(_24.rightJustify)?_24.arg+this._spaces10.substring(0,pad):this._spaces10.substring(0,pad)+_24.arg;}});}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -