2017-01-10 2 views
0

Я пытаюсь сделать значение переменной в процентах, но я не уверен, как это сделать. Это то, что у меня есть:Сохранить переменное значение в процентах

var x = 50; 
 
var y = 10; 
 

 
function myFunction(){ 
 
    document.getElementById("paragraph").innerHTML = y/x; 
 
}
<button onclick="myFunction()">Click Me!</button> 
 

 
<p id="paragraph"></p>

Хотя, он показывает, как 0,2, а не 20%. Есть ли способ исправить это или обойти его?

+0

Я думаю, что не разделить умножить на 100 –

+0

Ваша математика верна, но это дает математический процент: десятичный. Чтобы получить процент, несколько десятичных чисел (0,2 в этом случае) на 100. –

ответ

6

var x = 50; 
 
var y = 10; 
 

 
function myFunction(){ 
 
    document.getElementById("paragraph").innerHTML = y/x*100 + "%"; 
 
}
<button onclick="myFunction()">Click Me!</button> 
 

 
<p id="paragraph"></p>

+0

Спасибо вам большое! Я отмечу это как мой ответ! –

0

10/50 = 0,2 - или то, что вы ожидаете? Это простая математика. Если вы хотите значение процентов, а затем умножить на 100 и круглом (при желании)

var x = 50; 
var y = 10; 

function myFunction(){ 
    document.getElementById("paragraph").innerHTML = Math.round(y/x * 100); 
} 
+0

* «Хотя, он отображается как 0,2, а не 20%» *. Они также хотели иметь символ '%'. –

+0

Затем они могут добавить символ%. – Seb

2

Должно быть,

Math.floor((y/x) * 100 + "%"; 

Вот рабочий пример:https://jsfiddle.net/pwnt08qj/

Надеется, что это помогает !

+0

* «Хотя, он отображается как 0,2, а не 20%» * - Они также хотели, чтобы символ '%' был там. –

+0

@ Fred-ii- Обновлен код. Спасибо, что указали! –

+0

Добро пожаловать, Дэвид. –

0

Просто умножают результаты деления с 100, так что будет возвращать процентное значение затем сцепить "%"

  • Если х = 50 у = 10
  • результаты = 10/50 = 0,2
  • процент = * результаты 100

function displayPercentage() { 
 
var x = document.getElementById("x").value; 
 
var y = document.getElementById("y").value; 
 
document.getElementById("paragraph").innerHTML = Math.round((x/y) * 100) + "%"; 
 
     }
<lable>x:</lable><input type="number" id="x"> 
 
<lable>y:</lable><input type="number" id="y"> 
 
<button onclick="displayPercentage()">Click Me!</button> 
 
<p id="paragraph"></p>

0

Просто умножьте результат на 100 и соедините «%».
document.getElementById ("paragraph"). InnerHTML = y/x * 100 + "%";

Смежные вопросы