#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’ — это вызов библиотеки? Существует ли такая функция? Это может быть причиной сбоя вашей функции.
Поместите свой код в блок кода, и его было бы намного легче читать.