본문 바로가기

C# Winform

C# Winform | Parse, Convert - System.FormatException

by C기억저장소 2020. 8. 31.

C# Winform | Parse, Convert - System.FormatException

 

  System.FormatException - 입력 문자열의 형식이 잘못되었습니다.

 

1. 원인

 

scientific notation - 과학적 표기법

 

  Test Code

 

E-    Parse, Convert Exception

 

string data = "1.7521E-06";
 
decimal data_Convert = Convert.ToDecimal(data);
decimal data_Parse = decimal.Parse(data);
cs

 

  RESULT

 

 

  해결방법

 

MSDN

https://docs.microsoft.com/ko-kr/dotnet/api/system.globalization.numberstyles?view=netcore-3.1

 

NumberStyles Enum (System.Globalization)

정수 및 부동 소수점 숫자 형식의 Parse 및 TryParse 메서드에 전달되는 숫자 문자열에서 사용할 수 있는 스타일을 결정합니다.Determines the styles permitted in numeric string arguments that are passed to the Parse and

docs.microsoft.com

 

 

  Test Code

 

string data = "1.7521E-06";
 
decimal data_Parse = decimal.Parse(data, System.Globalization.NumberStyles.Float);
 
Console.WriteLine(data_Parse);
cs
 

 

  RESULT