반응형

* VBNET 반올림 Math.Round() 

 

'테스트 변수
        Dim dbTmp As Double = 12.5
        '반올림 
        Dim iRound As Integer = Convert.ToInt32(Math.Round(dbTmp, MidpointRounding.AwayFromZero))
        '결과 : iRound = 13 

        '올림 
        Dim iCeiling As Integer = Convert.ToInt32(Math.Ceiling(dbTmp))
        '결과 : iCeiling = 13 

        '내림 
        Dim iTruncate As Integer = Convert.ToInt32(Math.Truncate(dbTmp))
        '결과 : iTruncate = 12 

        'int 형으로 캐스팅 했을 시 
        Dim iTmp As Integer = Convert.ToInt32(dbTmp)
        '결과 : iTmp = 12 


        MessageBox.Show(iRound.ToString() + ", " + iCeiling.ToString() + ", " + iTruncate.ToString() + ", " + iTmp.ToString())

 

 

위 소스코드를 보면 Math.Round() 함수에 인자가 반드시 열거형 인자 MidpointRounding.AwayFromZero

전달 되는 걸 볼 수 있습니다. 만약 열거형 인자  MidpointRounding.AwayFromZero 없다면 소수점 0.5 가 반

올림이 되지 않는 걸 볼 수 있습니다. 

 

다음 표에서 일부 양수 및 음수 값과 함께에서 반올림의 결과 보여 줍니다. MidpointRounding합니다. 숫자를 반올림 하거나 내림 하는 데 자릿수가 소수점 반올림 연산에 영향을 줍니다 후 수는 0입니다. 예를 들어-2.5 수, 소수점 뒤의 숫자는 5입니다. 해당 숫자가 중간점 이기 때문에 사용할 수는 MidpointRounding 값을 반올림 한 결과 확인 합니다.  AwayFromZero 지정 된 경우-3은 전체 자릿수가 0 인 가장 가까운 숫자 이므로 반환 됩니다.  ToEven 지정 하면 전체 자릿수가 0 인 가장 가까운 짝수로는-2가 반환 됩니다.

 

원래 수                                          AwayFromZero                               ToEven

3.5 4 4
2.8 3 3
2.5 3 2
2.1 2 2
-2.1 -2 -2
-2.5 -3 -2
-2.8 -3 -3
-3.5 -4 -4

 

*참조 문서 https://docs.microsoft.com/ko-kr/dotnet/api/system.midpointrounding?view=netframework-4.8



반응형
반응형

* C# 반올림 Math.Round() 예제...

 

//테스트 변수

double dbTmp = 12.5; 


//반올림 
int iRound = (int)Math.Round(dbTmp, MidpointRounding.AwayFromZero  );

//결과 : iRound = 13



//올림
int iCeiling = (int)Math.Ceiling(dbTmp);

//결과 : iCeiling = 13


//내림 

int iTruncate = (int)Math.Truncate(dbTmp);

//결과 : iTruncate = 12


//int 형으로 캐스팅 했을 시
int iTmp = (int)dbTmp;

//결과 : iTmp = 12



MessageBox.Show(iRound.ToString() + ", " + iCeiling.ToString() + ", " + iTruncate.ToString() + ", " + iTmp.ToString());

 

위 소스코드를 보면 Math.Round() 함수에 인자가 반드시 열거형 인자 MidpointRounding.AwayFromZero

전달 되는 걸 볼 수 있습니다. 만약 열거형 인자  MidpointRounding.AwayFromZero 없다면 소수점 0.5 가 반

올림이 되지 않는 걸 볼 수 있습니다. 

 

다음 표에서 일부 양수 및 음수 값과 함께에서 반올림의 결과 보여 줍니다. MidpointRounding합니다. 숫자를 반올림 하거나 내림 하는 데 자릿수가 소수점 반올림 연산에 영향을 줍니다 후 수는 0입니다. 예를 들어-2.5 수, 소수점 뒤의 숫자는 5입니다. 해당 숫자가 중간점 이기 때문에 사용할 수는 MidpointRounding 값을 반올림 한 결과 확인 합니다.  AwayFromZero 지정 된 경우-3은 전체 자릿수가 0 인 가장 가까운 숫자 이므로 반환 됩니다.  ToEven 지정 하면 전체 자릿수가 0 인 가장 가까운 짝수로는-2가 반환 됩니다.

 

원래 수                                          AwayFromZero                               ToEven

3.5 4 4
2.8 3 3
2.5 3 2
2.1 2 2
-2.1 -2 -2
-2.5 -3 -2
-2.8 -3 -3
-3.5 -4 -4

 

*참조 문서 https://docs.microsoft.com/ko-kr/dotnet/api/system.midpointrounding?view=netframework-4.8

 

반응형
반응형

* Redim Preserve 및 배열 크기 조절 예제...

 

메인화면

 

전체 소스 코드

Form1.vb

 

Public Class Form1

    Dim strTmp(2) As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        strTmp(0) = "Test 1"
        strTmp(1) = "Test 2"
    End Sub

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click

        'TextBox 값이 빈 값이면...
        If txtNumber.Text = "" Then
            MessageBox.Show("배열 수 값이 빈 텍스트 일 순 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            Return
        End If

        'TextBox 값이 숫자가 아닐 경우...
        If IsInt(txtNumber.Text) = 0 Then
            MessageBox.Show("숫자만 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            txtNumber.Text = ""
            txtNumber.Focus()
            Return
        End If

        '기본 배열 갯수 보다 이상 으로 숫자 입력 받음...
        If Convert.ToInt32(txtNumber.Text) <= 3 Then
            MessageBox.Show("3 이상 숫자를 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            txtNumber.Text = ""
            txtNumber.Focus()
            Return
        End If

        '배열 인덱스 가르킬 변수...
        Dim iIndex As Integer = 2

        txtMsg.Text = ""
        txtMsg.Text += strTmp(0) + System.Environment.NewLine
        txtMsg.Text += strTmp(1) + System.Environment.NewLine

        '두번째 방법 Redim 문 사용 VB6 처럼
        'txtNumber 수 만큼 배열 크기 늘리기 
        '기존 2 개 선언 했던 값 포함 됨 Test 1 과 Test 2 값.
        'ReDim Preserve strTmp(Convert.ToInt32(txtNumber.Text))

        For iCount As Integer = 3 To Convert.ToInt32(txtNumber.Text)
            '첫번째 방법 C# 과 같이 Array 클래스 사용 
            '배열 갯수 증가...
            Array.Resize(strTmp, iCount)

            strTmp(iIndex) = "Test " + iCount.ToString()
            txtMsg.Text += strTmp(iIndex) + System.Environment.NewLine
            iIndex += 1

        Next

    End Sub

    Private Function IsInt(ByVal ob As Object) As Integer
        If ob Is Nothing Then Return 0
        Dim i As Integer
        'int 형 변환
        Dim b As Boolean = Integer.TryParse(ob.ToString(), i)

        If Not b Then Return 0

        Return i
    End Function
    

End Class

* 예제 결과 화면

결과 화면에서 보듯이 예제를 따라 완성 해보면 배열 사이즈를 줄였다 늘렸다 할 수 있습니다.

 

 

https://kdsoft-zeros.tistory.com/77

 

[VBNET] string 을 int 및 double 형으로 변환 하기, string null 체크

* string 문자열을 정수 및 실수 형으로 변환 하기 예제... 전체 소스코드 Form1.vb Public Class Form1 Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butto..

kdsoft-zeros.tistory.com

 

반응형
반응형

* VB (Redim Preserve) 처럼 배열 사이즈 조절 하기 예제...

 

메인화면

전체 소스 코드

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_ArryayResize
{
    public partial class Form1 : Form
    {
        string[] strTmp = new string[2]; //배열 초기화 갯수 2개로...

        public Form1()
        {
            InitializeComponent();
            strTmp[0] = "Test 1";
            strTmp[1] = "Test 2";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //TextBox 값이 빈 값이면...
            if (txtNumber.Text == "")
            {
                MessageBox.Show("배열 수 값이 빈 텍스트 일 순 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            //TextBox 값이 숫자가 아닐 경우...
            if (IsInt(txtNumber.Text) == 0)
            {
                MessageBox.Show("숫자만 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                txtNumber.Text = "";
                txtNumber.Focus();
                return;
            }

            //기본 배열 갯수 보다 이상 으로 숫자 입력 받음...
            if (Convert.ToInt32(txtNumber.Text) <= 3)
            {
                MessageBox.Show("3 이상 숫자를 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                txtNumber.Text = "";
                txtNumber.Focus();
                return;
            }

            int iIndex = 2; //배열 인덱스 가르킬 변수...
           
            txtMsg.Text = "";
            txtMsg.Text += strTmp[0] + System.Environment.NewLine;
            txtMsg.Text += strTmp[1] + System.Environment.NewLine;

            for (int iCount = 3; iCount <= Convert.ToInt32(txtNumber.Text); iCount++)
            {
                //배열 갯수 증가...
                Array.Resize<string>(ref strTmp, iCount);

                strTmp[iIndex] = "Test " + iCount.ToString();
                txtMsg.Text += strTmp[iIndex] + System.Environment.NewLine;
                iIndex += 1;
            }

        
        }

        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;
        }
    }
}

* 예제 결과 화면

결과 화면에서 보듯이 예제를 따라 완성 해보면 배열 사이즈를 줄였다 늘렸다 할 수 있습니다.

 

https://kdsoft-zeros.tistory.com/76

 

[C#] string 을 int 및 double 형으로 변환 하기, null 체크

* string 문자열을 정수 및 실수 형으로 변환 하기 예제... 전체 소스코드 Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing;..

kdsoft-zeros.tistory.com

 

반응형
반응형

Form 사이즈 고정 방법 1

- Form 속성창에서 FormBorderStyle -> FixedSingle 로 변경

또는 소스상에서 Me.FormBorderStyle = FixedSingle

Form 사이즈 고정 방법 2

- Form 속성창에서 AutoSizeMode -> GrowAndShrink 로 변경

또는 소스상에서 Me.AutoSizeMode = GrowAndShrink 

Form 사이즈 고정 방법 3

- Form Resize 이벤트 를 만들고 Me.Size = new Size(Width, Height) 를 입력



반응형
반응형

     

64bit 운영체제
32bit 운영 체제

 

 

        If IntPtr.Size = 8 Then
            MessageBox.Show("64")
        Else
            MessageBox.Show("32")
        End If

반응형
반응형

         

 

            //64 bit , 32 bit 구분 방법
            if (IntPtr.Size == 8)
            {
                MessageBox.Show("64");
            }
            else
            {
                MessageBox.Show("32");
            }

 

 

반응형
반응형

* 안드로이드 현재 시간 표시 함수 

 

Private String getNowTime() {

    long lNow;
    Date dt;
    SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    
    lNow = System.currentTimeMillis();
    dt = new Date(lNow);
    
    return sdfFormat.format(dt);
}

 

반응형

+ Recent posts