Formatted numeric output
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.
Express a number in decimal as a fixed-length string with leading zeros.
For example, the number 7.125 could be expressed as "00007.125".
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 }
JavaScript
var n = 123 var str = ("00000"+m).slice(-5) alert(str)
//or, put in browser URL: javascript:n=123;alert(("00000"+n).slice(-5))
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
Tcl
set number 7.342 format "%08.3f" $number