2010-12-07 29 views
55

Me pregunto cómo en javascript si me dieron un número (digamos 10.000) y luego se le dio un porcentaje (por ejemplo 35,8%)javascript: calcular x% de un número

¿cómo iba a saber cuánto que es (por ejemplo, 3580)

+1

tendría que multiplicar el número en un 35,8%, lo que es 'número var = 10000; alerta (número * 0,358); ' – gnarf

Respuesta

120
var result = (35.8/100) * 10000; 

(Gracias jball para este cambio de orden de las operaciones. no me considero).

+3

No necesita corchetes allí. –

+43

@ Klaster_1 Sí, solo trato de mostrar la relación más claramente. Podrías decir que tampoco necesito punto y coma, ni 'var', ni whitspace, pero no sería muy legible o un buen código ¿no? : P – alex

+2

Al cambiar el orden de las operaciones se evita el problema de punto flotante, por ejemplo, 'var result = pct/100 * number;' – jball

8

Su porcentaje dividido por 100 (para obtener el porcentaje entre 0 y 1) veces por el número

35.8/100*10000 
6

Esto es lo que haría:

// num is your number 
// amount is your percentage 
function per(num, amount){ 
    return num*amount/100; 
} 

... 
<html goes here> 
... 

alert(per(10000, 35.8)); 
6

Si desea pasar la % como parte de su función se debe utilizar la siguiente alternativa:

<script> 
function fpercentStr(quantity, percentString) 
{ 
    var percent = new Number(percentString.replace("%", "")); 
    return fpercent(quantity, percent); 
} 

function fpercent(quantity, percent) 
{ 
    return quantity * percent/100; 
} 
document.write("test 1: " + fpercent(10000, 35.873)) 
document.write("test 2: " + fpercentStr(10000, "35.873%")) 
</script> 
2
var number = 10000; 
var result = .358 * number; 
2

Lo mejor es memorizar ecuación de equilibrio en forma natural.

Amount/Whole = Percentage/100 

por lo general tiene uno variable que falte, en este caso es la cantidad

Amount/10000 = 35.8/100 

entonces tienes matemáticas de secundaria (proporción) de exterior múltiple de ambos lados e interior de ambos lados .

Amount * 100 = 358 000 

Amount = 3580 

Funciona igual en todos los idiomas y en papel. JavaScript no es una excepción.

0

Harder Way (objetivo de aprendizaje):

var number = 150 
var percent= 10 
var result = 0 
for (var index = 0; index < number; index++) { 
    const calculate = index/number * 100 
    if (calculate == percent) result += index 
} 
return result 
Cuestiones relacionadas