Changeset 46

Show
Ignore:
Timestamp:
03/10/06 10:51:26 (3 years ago)
Author:
Jan-Klaas Kollhof
Message:

fixing ticket:20

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/jsolait/jsolait.js

    r44 r46  
    757757        } 
    758758        this.type = s[6]; 
     759    }; 
     760     
     761    var pad=function(s, flag, len){ 
     762        if(flag == "-"){ 
     763            var c = " "; 
     764        }else{ 
     765            var c ='' + flag; 
     766        } 
     767        var rslt = c.mul(len-s.length); 
     768         
     769        if(flag == "-"){ 
     770            rslt = s + rslt; 
     771        }else{ 
     772            rslt += s; 
     773        } 
     774        return rslt; 
    759775    }; 
    760776 
     
    863879                        obj = "undefined"; 
    864880                    } 
    865                     s=obj.toString().pad(frmt.paddingFlag, frmt.minLength); 
     881                    s=pad(obj.toString(), frmt.paddingFlag, frmt.minLength); 
    866882 
    867883                }else if(frmt.type == "c"){//Character 
     
    870886                    } 
    871887                    if(typeof obj == "number"){//get the character code 
    872                         s = String.fromCharCode(obj).pad(frmt.paddingFlag , frmt.minLength)
     888                        s = pad(String.fromCharCode(obj), frmt.paddingFlag , frmt.minLength)
    873889                    }else if(typeof obj == "string"){ 
    874890                        if(obj.length == 1){//make sure it's a single character 
    875                             s=obj.pad(frmt.paddingFlag, frmt.minLength); 
     891                            s=pad(obj, frmt.paddingFlag, frmt.minLength); 
    876892                        }else{ 
    877893                            throw new mod.Exception("Character of length 1 required."); 
     
    911927                        case "b"://binary 
    912928                            s = obj.toString(2); 
    913                             s = s.pad("0", frmt.percision); 
     929                            s = pad(s, "0", frmt.percision); 
    914930                            break; 
    915931                        case "o"://octal 
    916932                            s = obj.toString(8); 
    917                             s = s.pad("0", frmt.percision); 
     933                            s = pad(s.pad, "0", frmt.percision); 
    918934                            break; 
    919935                        case "x"://hexadecimal 
    920936                            s = obj.toString(16).toLowerCase(); 
    921                             s = s.pad("0", frmt.percision); 
     937                            s = pad(s.pad,"0", frmt.percision); 
    922938                            break; 
    923939                        case "X"://hexadecimal 
    924940                            s = obj.toString(16).toUpperCase(); 
    925                             s = s.pad("0", frmt.percision); 
     941                            s = pad(s.pad,"0", frmt.percision); 
    926942                            break; 
    927943                        default://integers 
    928944                            s = parseInt(obj).toString(); 
    929                             s = s.pad("0", frmt.percision); 
     945                            s = pad(s.pad, "0", frmt.percision); 
    930946                            break; 
    931947                    } 
    932948                    if(frmt.paddingFlag == "0"){//do 0-padding 
    933949                        //make sure that the length of the possible sign is not ignored 
    934                         s=s.pad("0", frmt.minLength - sign.length); 
     950                        s=pad(s, "0", frmt.minLength - sign.length); 
    935951                    } 
    936952                    s=sign + s;//add sign 
    937                     s=s.pad(frmt.paddingFlag, frmt.minLength);//do padding and justifiing 
     953                    s=pad(s, frmt.paddingFlag, frmt.minLength);//do padding and justifiing 
    938954                }else{ 
    939955                    throw new mod.Exception("Number required.");