반응형

* 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 값 인지 체크 하는 예 입니다.

 

반응형

+ Recent posts