Использование округляющего JavaScript

#javascript-events

#javascript

Вопрос:

У меня есть этот JavaScript ниже, который добавляет разные поля. Это работает, но не округляет сумму:

 function Field2Value(aFields) {
  var aValues = new Array(aFields.length);
  for(i = 0; i < aFields.length; i  ) {
    aValues[i] = this.getField(aFields[i]).value;
  }

  return aValues;
} // end Field2Value

function SumArray(aValues) {
  var sum = 0;
  for(i = 0; i < aValues.length; i  ) {
    if(isNaN(aValues[i])) aValues[i] = 0;
    sum  = Number(aValues[i]);
  }

  return sum;
} // end SumArray

var myFields = new Array("AverageDiv", "AverageDiv1", "AverageDiv2",
  "AverageDiv3", "AverageDiv4", "AverageDiv5", "AverageDiv6", "AverageDiv7",
  "AverageDiv8", "AverageDiv9", "AverageDiv10", "AverageDiv11",
  "AverageDiv12", "AverageDiv13");

event.value = SumArray( Field2Value(myFields) );

function Round(nValue, nDec) {
  return Number(util.printf( "%,0 ."   Number(nDec)   "f", Number(nValue))) ;
}
  

У меня также есть скрипт, который я хочу использовать, который будет округлять сумму средних дивидендов, но я не знаю, где разместить этот скрипт в приведенном выше скрипте.

Вот сценарий округления:

 function Round(nValue, nDec) {
  return Number(util.printf( "%,0 ."   Number(nDec)   "f", Number(nValue))) ;
}
  

Пожалуйста, помогите.

Ответ №1:

Самый простой способ округлить число с помощью Javascript — это использовать Math.round(): http://www.w3schools.com/jsref/jsref_round.asp

Редактировать — при более внимательном рассмотрении кажется, что вы округлили до заданного количества знаков после запятой. Вы используете ‘util.printf’ — это вызов библиотеки? Существует ли такая функция? Это может быть причиной сбоя вашей функции.

Поместите свой код в блок кода, и его было бы намного легче читать.