zk.BigDecimal=zk.$extends(zk.Object,{_precision:0,$define:{precision:null},$init:function(a){a=a?""+a:"0";for(var b=-1,c=0,d=a.length;c<d;++c){var e=a.charAt(c);if(("0">e||"9"<e)&&"-"!=e&&"+"!=e||c&&("-"==e||"+"==e))if(0>b&&"."==e)b=c;else{a=a.substring(0,c);break}}0<=b&&(a=a.substring(0,b)+a.substring(b+1),this._precision=a.length-b,this._dot=!0);this._value=a},$toNumber:function(){var a=parseFloat(this._value),b;if(b=this._precision)a/=Math.pow(10,b);return a},$toString:function(){if(0==this._value.length)return"";
var a=this._value.length-this._precision,b="";if(0>a)for(var c=-a;0<c--;)b+="0";return this._value.substring(0,a)+(this._dot||this._precision?"."+b+this._value.substring(a):"")},$toLocaleString:function(){if(0==this._value.length)return"";var a=this._value.length-this._precision;if(0>=a){var b="";for(a=-a;0<a--;)b+="0";return"0"+(this._precision?zk.DECIMAL+b+this._value:"")}return this._value.substring(0,a)+(this._precision?zk.DECIMAL+this._value.substring(a):"")}});
zk.Long=zk.$extends(zk.Object,{$init:function(a){a=a?""+a:"0";for(var b=a.length,c=0;c<b;++c){var d=a.charAt(c);if(("0">d||"9"<d)&&(0<c||"-"!=d&&"+"!=d)){a=a.substring(0,c);break}}1==b&&(a.charAt(0),"0">d||"9"<d)&&(a="NaN");this._value=a},scale:function(a){var b=this._value||"",c=b.length;if(c)if(0<a){if(1<c||"0"!=b.charAt(0))for(;0<a--;)b+="0"}else 0>a&&(this._value=0>=(c+=a)?"0":b.substring(0,c))},$toNumber:function(){return parseFloat(this._value)},$toString:zkf=function(){return this._value},
$toLocaleString:zkf});
