반응형
* string 문자열을 정수 및 실수 형으로 변환 하기 예제...
전체 소스코드
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CSharp_getType
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//int 형 변환
int iReturnValue = IsInt(textBox1.Text);
if (iReturnValue == 0)
{
label1.Text = "int 형 변환으로 실패...";
return;
}
label1.Text = "int 형 변환 성공...";
}
private void button2_Click(object sender, EventArgs e)
{
//double 형변환
double dbReturnValue = IsDouble(textBox1.Text);
if (dbReturnValue == 0)
{
label1.Text = "Double 형 변환으로 실패...";
return;
}
label1.Text = "Double 형 변환 성공...";
}
private void button3_Click(object sender, EventArgs e)
{
//string 값 체크
//string str = null;
if (IsNullString(textBox1.Text))
{
label1.Text = "string 값이 Null 또는 빈 값입니다...";
return;
}
label1.Text = "string 값이 정상적입니다...";
}
private int IsInt(object ob)
{
if (ob == null) return 0;
int iCheck = 0;
bool bCheck = int.TryParse(ob.ToString(), out iCheck);
if (!bCheck)
{
return 0;
}
return iCheck;
}
private double IsDouble(object ob)
{
if (ob == null) return 0;
double dbCheck = 0;
bool bCheck = double.TryParse(ob.ToString(), out dbCheck);
if (!bCheck)
{
return 0;
}
return dbCheck;
}
private bool IsNullString(string str)
{
return string.IsNullOrEmpty(str);
}
}
}
위 그림과 같이 int.TryParse 사용으로 오류없이 자연스럽게 형 변환 하는 모습입니다.
물론 Convert.ToInt32 () 로 가능 하며, int.Parse 로도 가능 하지만 예기치 못한 string 값에
숫자가 아닌 다른 문자열이 들어 가게 된다면... try{} catch{} 문이 없다면 오류를 내면서 프로그램
이 비정상적으로 종료 되는 걸 볼 수 있습니다.
int 형으로 변환 실패 된 그림 예 입니다. 만약 int.Parse 와 Convert.ToInt32 로 변환 하였다면
아래의 그림과 같이 오류 메시지가 뜨게 됩니다.
Double 형 변환 또한 int 형 변환 설명 드렸듯이 같습니다.
마지막으로 string.IsNullOrEmpty() 함수로 string 문자열이 빈 값 인지 또는 null 값 인지 체크 하는 예 입니다.
반응형
'C# Programming' 카테고리의 다른 글
[C#] 날씨 (Weather) 정보 가져오기 (0) | 2019.11.14 |
---|---|
[C#] DateTime 클래스 : 현재 선택된 달의 마지막 날짜 및 요일 구하기 (0) | 2019.11.10 |
[C#] 응용 프로그램 재시작 예제 (0) | 2019.11.01 |
[C#] 다른 응용 프로그램 실행 및 종료 (0) | 2019.10.28 |
[C#] File 사용 가능 여부 체크 (0) | 2019.10.25 |