2013-10-31 1 views
-1

에 지수 표기로 변환 :내가 시도 비 - 지수 표기

MessageBox.Show(System.Numerics.BigInteger.Parse("7.56e+011", 
      NumberStyles.Float, 
      CultureInfo.InvariantCulture)); 

그러나 7.56e가 + 011

+1

이 코드는 컴파일되지 않습니다. 끝에 ToString()을 추가하면 num에'756000000000' 값이 생깁니다. –

+0

@Lloyd'BigInteger.Parse ("7.56e + 011", NumberStyles.Float, CultureInfo.InvariantCulture) .ToString()' '756000000000'을 반환합니다. –

+0

@IlyaIvanov ToString()을 추가하면 같은 결과가 나타납니다. – kr13

답변

2

숫자의 서식을 지정하려고합니다. 당신은 너무

string.Format("{0:F}",System.Numerics.BigInteger.Parse("7.56e+011", 
      NumberStyles.Float, 
      CultureInfo.InvariantCulture)) 

Code in VS2012

당신에게 제공합니다 다음 코드를 당신이 그것을 변경하여 더 소수점을 지정할 수 있습니다

MessageBox with string

다음과 같은 메시지 박스를 실행 할 String.Format을 사용할 수 있습니다 해당 형식의 경우 {0:F0}

+0

작동하지 않았습니다. – kr13

+1

예. 나는 증거를 보여 주겠다. – Harrison

+0

@ kr13 제 편집을보세요. 이것은 MessageBox와 함께 작동하여 그것이 – Harrison

0
decimal dec = decimal.Parse("7.7583877127496407E-6", 
    System.Globalization.NumberStyles.Any); 
    Console.WriteLine(dec); 
0

당신의 솔루션을하지

BigInteger num = System.Numerics.BigInteger.Parse("7.56e+011", 
     NumberStyles.Float, 
     CultureInfo.InvariantCulture); 

String text = num.ToString("F5"); // New format string, here with 5 digits. 

시도 계속 표시 BigInteger에서 문자열로의 암시 적 변환. 지수가 큰 경우 과학 표기법을 사용합니다.

+0

컴파일되지 않습니다. "BigInteger에서 문자열로 변환 할 수 없습니다" – kr13

+0

??? 나를 위해 완벽하게 작동합니다. 나는 이것이 암시를 던지려고하는 곳을 볼 수 없다. – PMF