Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как найти процент от числа? js (https://javascript.ru/forum/misc/61927-kak-najjti-procent-ot-chisla-js.html)

Холоп 16.03.2016 11:04

Как найти процент от числа? js
 
Нужно сделать систему тестирования, конкретно не получается сделать подсчет и вывод оценки в процентах, допустим если 2 правильных ответа из 4 это будет 50%
Помогите. Надо найти процент от числа, и сделать это все в js
Вот что получилось сделать:
ResetChk();

function gid (idx) {return document.getElementById(idx);}

function ResetChk() {
  gid('res').style.display = 'none';
  var chk = document.getElementsByTagName('input');
  for (i=0; i < chk.length; i++) {
    if (chk[i].type == 'checkbox' || chk[i].type == 'radio') {chk[i].checked = false;}
  }
}
function ShowResult() { 
var n 
  var n = [
  '4'
  ];
  var m = [
  '1,3,4',
  '1,2,4,5,6',
  '3',
  '2'
  ];
p=n/m*100%;
document.write(p);
}

EmperioAf 16.03.2016 11:57

Интересно знать какого ответа вы ожидаете :)
Давайте посмотрим, что выдаёт ваш код:
function ShowResult() {
var n
  var n = [
  '4'
  ];
  var m = [
  '1,3,4',
  '1,2,4,5,6',
  '3',
  '2'
  ];
p=n/m*100%;
document.write(p);
}

ShowResult();

А теперь скажите, что этот код должен выдавать по вашему желанию

Deff 16.03.2016 13:24

p=(100*n/m).toString()+'%';

ruslan_mart 16.03.2016 14:13

Deff,

Скобки и toString не нужен. :)

var p = 100/5*2 + '%';
alert(p)

Холоп 17.03.2016 12:06

Не получается, пишет NaN%
вот код
function ShowResult() {  
  var n = [
  '4'
  ];
  var m = [
  '1,3,4',
  '1,2,4,5,6',
  '3',
  '2'
  ];
p=(100*n/m).toString()+'%';
alert(p);
}

скрин:

ruslan_mart 17.03.2016 14:32

Холоп, 100 / array * array?

Холоп 17.03.2016 18:30

Цитата:

Сообщение от Ruslan_xDD (Сообщение 411230)
Холоп, 100 / array * array?

Не понял?
По всякому пробовал выдает NaN% и все(

laimas 17.03.2016 20:13

Цитата:

Сообщение от Холоп
Не понял?


А чего не понятного, n и m это массивы, которые пытаются умножить.

Холоп 18.03.2016 09:46

Цитата:

Сообщение от laimas (Сообщение 411256)
А чего не понятного, n и m это массивы, которые пытаются умножить.

То что n и m это массивы я понял, но я не понял как мне это сделать "написать". У меня очень туго с js
Вот что я сделал, но это не правильно поскольку не работает...
function ShowResult() {  
  var n = new Array('4') 
  [
  '4'
  ];
  var m = new Array('1,3,4','1,2,4,5,6','3','2') 
  [
  '1,3,4',
  '1,2,4,5,6',
  '3',
  '2'
  ];
p=(100*n/m).toString()+'%';
alert(p);
}

ruslan_mart 18.03.2016 12:47

Холоп, так Вы объясните по полочкам, какой результат Вы хотите получить?

Холоп 18.03.2016 16:39

Ruslan_xDD, У меня что то вроде онлайн тестов, надо сделать подсчет правильных ответов в процентах
function ShowResult() {  
  var n = new Array('4') // Количество вопросов в тесте
  [
  '4'
  ];
  var m = new Array('1,3,4','1,2,4,5,6','3','2') //Счетчик правильных ответов
  [
  '1,3,4',
  '1,2,4,5,6',
  '3',
  '2'
  ];
p=(100*n/m).toString()+'%'; // Подсчет процента правильных ответов "не работает его и надо сделать"
alert(p); 
}

Выше есть скрин как сама страничка выглядит. "Могу весь код страницы скинуть если нужно"

Deff 19.03.2016 14:10

Холоп,
p= 100*n.length/m.length +'%'; // Подсчет процента правильных ответов "не работает его и надо сделать

Холоп 20.03.2016 16:44

Он выдает почему то только 25%


Часовой пояс GMT +3, время: 13:48.