2011-11-06 2 views
0

나는 뭔가를 실행해야하는 빈도를 백분율로 지정하는 옵션이 있습니다.숫자를 임의의 백분율로 변환하십시오.

그래서 텍스트 백분율로 백분율을 결정하기 위해 숫자 0-100이 필요합니다. 그 다음이 숫자를 가져 와서 일치하는 임의의 문장으로 변환하고 싶습니다. 그래서 예를 들어

:

if (rnd.Next(1, 11) = 1) 
{ 
    do(); 
} 

일치하는 임의의 문에 그 숫자 값을 변환하는 가장 좋은 방법은 무엇입니까 :

textPercentage.text = "10" 

이 같은 변경 될 것인가?

+0

이 텍스트 상자의 WPF 아니면 WinForms? WinForms라고 내기는했지만 어쨌든 묻습니다. –

+0

예, WinForms, 명확하지 않은 것에 대해 사과드립니다. – Michael

+0

@Michael 무작위 형태 1 - 10, 조건 추가 : if 값은 1이고 다른 값은 1/10이며 thi는 10 퍼센트입니다. 값이 1이고 다음 값이 4이면 우리는 두 값을 가지므로이 값은 2/10 = 20 %입니다. 나는 너의 생각을 바르게 갈까? – deadfish

답변

3
var i = int.Parse(textPercentage.Text); 
if (rnd.Next(1, 101) <= i) 
{ 
    do(); 
} 

당신은 정상적으로 아닌 숫자 입력을 처리 할 수 ​​int.Parse 대신에 int.TryParse을 사용할 수 있습니다.

+0

고마워, 너무 간단해서, 나는 훨씬 더 복잡하게 만들었다. – Michael

0

먼저 int에 값을 다시 입력하십시오.

  • WPF에서는 int 속성으로 데이터 바인딩하기 만하면되므로 간단합니다. int.Parse(textBox.Text)

당신이있는 그대로 당신이 당신의 원본 코드에 비슷한 사용할 수 있습니다 0-100 값을 사용하는 경우 : 윈폼에서

  • 당신은 다시 값을 얻기 위해 int.Parse 방법을 사용합니다.

    int value = int.Parse(textBox.Text); 
    
    if(rnd.Next(0, 100) < value) 
    { 
        DoSomething(); 
    } 
    

    그렇지 않으면, 단지 모두 시작과 끝 값에 1을 추가

    int value = int.Parse(textBox.Text); 
    
    if(rnd.Next(1, 101) <= value) 
    { 
        DoSomething(); 
    } 
    

    첫 번째는 간단하다, 그래서 :) 함께 가고 싶어

  • 관련 문제