How Do I Pad Out A String With Leading Blanks?
I need to test the length of string $A in an UltraEdit script (JavaScript), and then pad it out with leading blanks if it is less than x (say: 30). There's the following suggesting
Solution 1:
In JavaScript core used in UltraEdit scripts there is no function to print formatted into a string variable.
But it is nevertheless very easy to create aligned strings with leading spaces or zeros.
Example for fixed length output of a number:
var nNumber = 30; // number to output right aligned with 4 digitsvar sAlignSpaces = " "; // string containing the spaces (or zeros) for aligning// Convert integer number to decimal string.var sNumber = nNumber.toString(10);
// Has the decimal string less than 4 characters as defined by sAlignSpaces?if (sNumber.length < sAlignSpaces.length)
{
// Build decimal string new with X spaces (here 2) from the alignment// spaces string and concatenate this string with the number string.
sNumber = sAlignSpaces.substr(0,sAlignSpaces.length-sNumber.length) + sNumber;
}
// String sNumber has now always at least 4 characters with// 0 to 3 leading spaces depending on decimal value of the number.
Example for aligning positive numbers dynamically depending on highest number:
var nHighestNumber = 39428; // highest number usually determined beforevar nCurrentNumber = 23; // current number to output right aligned// Convert the highest number to a decimal string and get a copy// of this string with every character replaced by character '0'.// With highest number being 39428 the created string is "00000".var sLeadingZeros = nHighestNumber.toString(10).replace(/./g,"0");
// Convert integer number to decimal string.var sNumber = nCurrentNumber.toString(10);
// Has the decimal string of the current number less// characters than the decimal string of the highest number?if (sNumber.length < sLeadingZeros.length)
{
// Build decimal string new with X (here 3) zeros from the alignment// string and concatenate this leading zero string with the number string.
sNumber = sLeadingZeros.substr(0,sLeadingZeros.length-sNumber.length) + sNumber;
}
// String sNumber has now always at least 5 characters with 0 to 4// leading zeros depending on decimal value of the positive number.
Solution 2:
I think what you are looking for is this:
Post a Comment for "How Do I Pad Out A String With Leading Blanks?"