2011-04-07 74 views
7

我有两个值中的一个与一个十进制值 和带值的另一值,其将计算十进制值 的百分比,例如:工作百分比在c#

%的

60 10 = 6

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

您如何使用十进制值和包含百分比值的值来计算此值?

回答

21
number * percentage/100 

所以

10 * 60/100 = 6 
+0

你将如何工作100%的价值?听起来很愚蠢,因为无论如何它都是值,但输入100时不会编译? – question21 2011-04-07 12:45:46

+1

你应该在这些数字之后加上'm'来明确。 '10 * 60/100'可以作为整数,但'45 * 2/100'不会。 – 2011-04-07 12:46:24

+0

@ question21:这是正确的:527的100%是527 * 100/100 = 527 – BlackBear 2011-04-07 12:46:54

3

您的意思是这样的?

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

顺便说一句,toString写入ToString在C#与资本牛逼

+0

啊是的......谢谢 – question21 2011-04-07 12:42:08

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

声明*百分比*作为一个整数看到这个代码失败严重。不要使用不必要的括号。 – 2011-04-07 12:57:21

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

您需要通过100

60%= 60/100分。

1

这是不是仅仅是

percentage/100m*value 

1

我会分离的顾虑:

  1. 计算原始的小数的一部分:

    小数结果=(值*百分比)/ 100.0;

  2. 提供一个适当的格式化以输出结果作为百分比:

    文本= result.ToString( “0.0%”);

http://www.dotnetperls.com/percentage

7

也许这将帮助你以这种方式把它。

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

在你的例子中,你想知道如何计算分子(6),所以给它分配一个变量。让我们使用X.

 
X 
-- = .6 
10 

..并通过乘以10(在你的情况下)来求解X.

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

X = .6 * 10 

从这我希望你能看到你可以把你的百分比值乘以你的'小数'值。

请注意,为了得到。6,你将需要由100

您的百分比(60),通过将其转换所以我们最后的计算公式为:

 
60 
--- * 10 
100 

或使用您的变量:

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

我希望我”即使我的公式与以前的答案相似,也增加了你的理解。我想确保你理解公式是如何派生的。

祝你好运!

0

从问题它自答案是清楚

60%是指60/100然后用值来计算它

百分之六十零* 10 = 6使用的逻辑变量

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

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

获取百分比金额

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

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