function round (numb, precis)
/*
 *  Округляет   число .
 * IN: numb -  число .
 *     precis - кол-во  знаков  после запятой.
 * OUT:  округленное   число  в виде строки.
 */
 {
  // проверки всякие. eval() делается для того,
  // чтобы можно было использовать не просто  числа ,
  // а какие-нить numeric expressions в кач-ве аргументов
  // функции, например:
  //   var e = round("3+5/367");
  //   var z = round("0xdeadbeef");
  precis = parseInt(eval(precis));
  if ( isNaN(precis) || precis<0 ) precis = 2;
  numb = parseFloat(eval(numb));
  if ( isNaN(numb) ) {
    return "0"+(precis>0?"."+strprep("0","0",precis,true):"");
  }
  var numb_int = parseInt(numb); // целая часть.
  var numb_fract = numb - numb_int; // дробная часть.
  // взяли нужное кол-во  знаков  в дробной части и округлили.
  var fract_rnd = Math.round(numb_fract * Math.pow(10, precis));
  // на случай переноса в старший разряд.
 var rc = numb_int + fract_rnd/Math.pow(10, precis);
  return rc;
}

