2011-04-07 29 views
7

Tengo dos valores uno con un valor decimal y otro valor con un valor que se calcula el porcentaje de ese valor decimal por ejemplo:porcentaje de Trabajo en C#

60% de 10 = 6

decimal value1 = 10; 
decimal percentage = 60; 
textbox1.text = ("mathsum here").toString(); 

¿Cómo calculo este valor usando el valor decimal y el valor que contiene el valor del porcentaje?

Respuesta

21
number * percentage/100 

por lo

10 * 60/100 = 6 
+0

¿cómo trabajarías el 100% del valor? suena tonto porque de todos modos será el valor pero no se compilará al ingresar 100? – question21

+1

Probablemente deberías poner 'm' después de esos números para que quede claro. '10 * 60/100' pueden funcionar como enteros, pero' 45 * 2/100' no. –

+0

@ question21: es correcto: el 100% de 527 es 527 * 100/100 = 527 – BlackBear

3

¿Te refieres a esto?

textbox1.text = (value1 * percentage/100).ToString(); 

Por cierto, toString está escrito en C# ToString con un capital T.

+0

ah sí ... gracias – question21

3
var answer = value1 * (percentage/100); 
+0

Declare * porcentaje * como int para ver que este código falla mucho. No use paréntesis innecesarios. –

5
var result = (percentage/100) * value1; 
textbox1.Text = result.ToString(); 
0

es necesario dividir por 100.

60% = 60/100.

1

No sería esto acaba de ser

percentage/100m*value 

?

1

Me gustaría separar las preocupaciones:

  1. calcular una porción de su decimal original:

    decimal resultado = (valor * porcentaje)/100,0;

  2. Proporcionar un formateador apropiado para dar salida al resultado como un porcentaje:

    text = result.ToString ("0,0%");

http://www.dotnetperls.com/percentage

7

Tal vez pueda ayudar a pensar de ella de esta manera.

 
6 
-- = .6 (or equivalent to your 60%) 
10 

En su ejemplo, le gustaría saber cómo calcular el numerador (el 6) así que asigne una variable al mismo. Use X.

 
X 
-- = .6 
10 

.. y resuelva X multiplicando ambos lados por 10 (en su caso).

 
X * 10 = .6 * 10 
------ 
    10 

X = .6 * 10 

De esta espero que puedan ver que se puede llevar a su valor en porcentaje y se multiplica por el valor de 'decimal'.

Tenga en cuenta que para obtener el.6 tendrá que convertir su porcentaje (60) dividiéndolo por 100.

Así que nuestra fórmula final es:

 
60 
--- * 10 
100 

o utilizando sus variables:

 
percentage 
---------- * value1 
    100 

espero' he añadido a su comprensión incluso si mi fórmula es similar a las respuestas anteriores. Quería asegurarme de que entendieras cómo se derivó la fórmula.

¡Buena suerte!

0

de la pregunta en sí respuesta es clara

60% significa 60/100 luego calcular con el valor

60/100 * 10 = 6 uso de la lógica para las variables

textbox1.Text = ((percentage /100) * value).ToString(); 

o

textbox1.Text = ((percentage * .01) * value).ToString(); 
1

para obtener la cantidad porcentaje

decimal Value = 1200; 
int percentage = 20; //20% 

var result=(percentage/100)*(Value);