function exact(val, len, decimal) {
   if(decimal == null)
      decimal = 1;

   decimal = decimal -1 
   
   scale = Math.pow(10, decimal+1);

   tStr = "" + Math.round(parseFloat(val) * scale);

   if(tStr.length == 0 || tStr == "0") {
      tStr = "0";

      for(var i=0; i<=decimal; i++)
         tStr += "0";
   }

   str = "." 
      + tStr.substring(tStr.length-decimal-1,
                       tStr.length);

   for(i=tStr.length-decimal-2, j=0 ; i>=0; i--) {
      if(++j >3) {
         str = "," + str;
         j = 0;
      }

      str = tStr.substring(i, i+1) + str;
   }
   
   if (scale != 1)
      i--;

   while(0 < i--)
      str = " " + str;

   return str;
}

