Formatted numeric output
Express a number in decimal as a fixed-length string with leading zeros.
Formatted numeric output
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Ada
with Ada.Text_Io.Editing; use Ada.Text_Io.Editing; with Ada.Text_Io; use Ada.Text_Io; procedure Zero_Fill is Pic_String: String := "<999999.99>"; Pic : Picture := To_Picture(Pic_String); type Money is delta 0.01 digits 8; package Money_Output is new Decimal_Output(Money); use Money_Output; Value : Money := 37.25; begin Put(Item => Value, Pic => Pic); end Zero_Fill;
The output of this program is
000037.25
C
void printit(int val) { printf ("%08d", val); // Prints 8 digits with leading zeros }
Perl
Interpreter: Perl v5.x
my $num = 123.45 my $pad = '0' x (5 - length(int($num))) . $num; # $pad is now 00123.45
Python
#tested in Python 2.4.1 n = 123 str = "%05d" % n #5 places wide, leading zeros print n, str #output: 123 00123
SQL
--Tested MS SQL 2005 declare @n int select @n=123 select substring(convert(char(5), 10000+@n),2,4) as FourDigits set @n=5 print "TwoDigits: " + substring(convert(char(3), 100+@n),2,2) --Output: 05