2010-12-30 59 views
38

Tôi đang làm việc trong khái niệm thanh tiến trình trong ASP.NET MVC 2. Ở đây tôi có một DropDownList trong đó có 10 giá trị. tôi muốn tính tỷ lệ phần trăm cho thanh tiến trình, ví dụ: 10 giá trị từ DropDownList và tôi đang có truy vấn trả về giá trị 2. vì vậy, trong số 10 giá trị tôi nhận được 2. "20% hoàn thành" sẽ được hiển thị .. Cách thực hiện phép tính nàyTính tỷ lệ phần trăm

Trả lời

46

(current/maximum) * 100. Trong trường hợp của bạn, (2/10) * 100.

+0

Cảm ơn lot..how làm tròn mà .. cho ex (2/11) * 100 có nghĩa là tôi nên làm gì ... – RobinHood

+1

sử dụng Math.Round và sau đó quyết định số lượng vị trí thập phân bạn muốn :) – WestDiscGolf

+1

Truyền nó đến một int. (int) ((2.0/11.0) * 100.0) = 18. –

49

Sử dụng Math.Round():

int percentComplete = (int)Math.Round((double)(100 * complete)/total); 

hoặc bằng tay tròn:

int percentComplete = (int)(0.5f + ((100f * complete)/total)); 
+0

Vì vậy, 'complete' và' total' phải là 'int' hoặc' double'? Thanks. – Si8

+0

Nó không quan trọng nếu bạn sử dụng nó chính xác như được viết ở đây. Chứng minh tuyên bố này là một bài tập để lại cho người đọc :) – Sogger

+0

bạn không bao giờ nên sử dụng một số dấu chấm động (tức là gấp đôi) cho số tiền – stuartdotnet

23

Với C# Chuỗi định dạng bạn có thể tránh được những nhân bằng 100 vì nó sẽ làm cho đoạn code ngắn hơn và sạch hơn đặc biệt là vì dấu ngoặc ít và cũng có thể tránh làm tròn mã.

(current/maximum).ToString("0.00%"); 

// Output - 16,67%

2

trong toán học, cho có được tỷ lệ phần trăm từ hai số:

percentage=(yourNumber/totalNumber)*100; 

và để tính toán từ một tỷ lệ phần trăm:

number=(percentage/100)*totalNumber; 
0

Bạn có thể giữ tỷ lệ phần trăm dưới dạng số thập phân (value \ total) và sau đó khi bạn muốn trả cho một người bạn có thể tận dụng Habeeb'sanswer hoặc sử dụng string interpolation bạn có thể có một cái gì đó thậm chí sạch hơn:

var displayPercentage = $"{(decimal)value/total:P}"; 

hoặc

//Calculate percentage earlier in code 
decimal percentage = (decimal)value/total; 
... 
//Now render percentage 
var displayPercentage = $"{percentage:P}"; 
Các vấn đề liên quan