2011-04-07 121 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);