블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2324)
Unity3D (568)
Programming (472)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (34)
3DS Max (3)
Game (12)
Utility (116)
Etc (92)
Link (31)
Portfolio (19)
Subject (90)
iOS,OSX (38)
Android (13)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (1)
Memories (19)
Interest (37)
Thinking (36)
한글 (26)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (2)
냥이 (9)
육아 (9)
Total1,344,974
Today78
Yesterday321
Statistics Graph

달력

« » 2019.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

공지사항

태그목록

'VS-도구-옵션-환경-글꼴 및 색-표시 항목-숫자'의 배경 색을 (눈에 띄는)다른 색으로 설정.



출처 : 게임코디의 '남시키'님.


참조 : http://www.gamecodi.com/board/zboard.php?id=GAMECODI_Talk&page=1&sn1=&divpage=5&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=24963

Posted by blueasa
TAG 숫자, 폰트

댓글을 달아 주세요

만원을 숫자로 표현하면 10000원이 됩니다.
여기에 3콤마를 붙이면 10,000원이 되며 4콤마를 붙이면 1,0000원이 됩니다.
많은 분들이 3콤마를 사용하고 있고 컴퓨터 프로그램(계산기, 엑셀등)에서도 모두 3콤마가 적용되어 있습니다.

하지만 3콤마는 서양의 문화로써 우리 숫자와는 맞지 않다는 이야기가 있어 그에 관한 이야기를 해보고자 합니다.

미국에서 사용중인 3콤마의 경우 아래와 같이 3자리 단위로 읽는 방법이 달라집니다.

      one                  ten                      hundred
        thousand             ten thousand             hundred thousand
        million              ten million              hundred million
        billion              ten billion              hundred billion
        trillion             ten trillion             hundred trillion
위와같이 3자리 단위로 앞에 ten, hundred가 붙으면서 3콤마 사용이 훨씬 수훨합니다.

하지만 우리나라의 경우는 3콤마로 할경우 아래와 같게 됩니다.
     일(1)                십(10)                   백(100)
     천(1,000)            만(10,000)               십만(100,000)
     백만(1,000,000)      천만(10,000,000)         억(100,000,000)
3콤마를 사용하면, 우리가 읽고 쓰는 방식에서 깔끔하게 정리가 안되는것을 볼수가 있습니다.

그렇다면 4콤마를 사용하면 어떨까요?
     일(1)                십(10)                   백(100)            천(1000)
     만(1,0000)           십만(10,0000)            백만(100,0000)     천만(1000,0000)
     억(1,0000,0000)      십억(10,0000,0000)       ...

이것처럼 읽고 쓰는데 너무 간편해 집니다.

다른 예를 들어보자면,

1,234,567,890

위 숫자를 5초내로 읽을수 있나요?

읽기가 힘드실껍니다. 저같은 경우도 뒤에서부터 일십백천만 ... 라고 속으로 생각하며 전체를 읽어가기 때문에 시간이 오래 걸립니다.

하지만 4콤마를 적용하면 아래와 같습니다.

12,3456,7890

4콤마는 첫 콤마가 만단위 둘째 콤마가 억단위 입니다.

그러므로 아래와 같이 읽게 됩니다.
12,3456,7890
억단위  만단위       천백십일단위


12억, 3456만, 7890으로 큰수일경우 3콤마보다는 이해하기가 쉬워집니다.

자료조사중 본 내용에서는 초등학교에서는 4콤마를 가르치고 있다고 하더군요.

저도 사실 지금껏 3콤마만 사용해서 아직 4콤마가 익숙하진 않습니다만 이글을 작성하면서
몇번 익혀보니 오히려 쉽게 다가 옵니다.

허나, 아직 많은 사람들이 3콤마를 사용하고 있고 그외 시스템적으로도 4콤마 정착이 쉬워보이진 않습니다.

4콤마에 대한 관련 글이 몇개 있어 아래 링크로 제공하오니 관심있으신분들은 한번 읽어보시기 바랍니다.

4콤마 관련 포스팅
http://www.soondesign.co.kr/1411
http://foog.com/666
http://may.minicactus.com/1635
http://pencure.egloos.com/1733104




'Etc' 카테고리의 다른 글

'세계는 지금' 보다가..  (0) 2013.01.12
위메이드가 뿔났다.  (0) 2013.01.11
숫자의 콤마사용, 3콤마냐 4콤마냐  (2) 2012.08.22
Under Pressure - Happy Feet 2  (0) 2012.08.01
피셔맨 매듭법  (7) 2012.06.19
소금물 한컵이면 잇몸질환 안녕  (0) 2012.06.08
Posted by blueasa

댓글을 달아 주세요

  1. 2012.08.22 14:48 그아이  댓글주소  수정/삭제  댓글쓰기

    저도 항상 이 생각을 했어요...
    우리나라는 네자리씩 끊어서 읽는데 단지 미국식으로 세자리 끊어 표시하는게 불편해보여서
    제 컴퓨터엔 그렇게 해뒀더니 다른 사람들이 어색해 하더라구요...

    • 2012.08.24 15:46 신고 blueasa  댓글주소  수정/삭제

      저도 4단위가 편한데 다른 사람들은 3단위에 익숙해서 그런지 이번에 머드에서 숫자를 4단위로 바꿔버렸더니 어색해 하네요. ㅎㅎ
      그래서 옵션으로 옮겨야겠어요.

문자열이 지정한 숫자 형식의 유효한 표현인지 확인하려면 모든 기본 숫자 형식에서 구현되며 DateTime 및 IPAddress 같은 형식에서도 구현되는 정적 TryParse 메서드를 사용합니다. 다음 예제에서는 "108"이 유효한 int인지 확인하는 방법을 보여 줍니다.

  int i = 0; 
  string s = "108";
  bool result = int.TryParse(s, out i); //i now = 108

문자열에 비숫자 문자가 포함되어 있는 경우 또는 숫자 값이 지정한 특정 형식에 비해 너무 크거나 너무 작은 경우 TryParse는 false를 반환하고 out 매개 변수를 0으로 설정합니다. 그렇지 않으면 true를 반환하고 out 매개 변수를 문자열의 숫자 값으로 설정합니다.

참고참고

문자열은 숫자만 포함할 수 있으며 사용할 TryParse 메서드 형식에 아직 유효하지 않을 수 있습니다. 예를 들어 "256"은 byte에 대해서는 유효한 값이 아니지만int에 대해서는 유효한 값입니다. 이때 98.6"은 int에 대해 유효한 값이 아니지만 decimal에 대해서는 유효한 값입니다.

다음 예제에서는 longbyte 및 decimal 값의 문자열 표현을 사용하여 TryParse를 사용하는 방법을 보여 줍니다.

string numString = "1287543"; //"1287543.0" will return false for a long
long number1 = 0;
bool canConvert = long.TryParse(numString, out number1);
if (canConvert == true)
  Console.WriteLine("number1 now = {0}", number1);
else
  Console.WriteLine("numString is not a valid long");

byte number2 = 0;
numString = "255"; // A value of 256 will return false
canConvert = byte.TryParse(numString, out number2);
if (canConvert == true)
  Console.WriteLine("number2 now = {0}", number2);
else
  Console.WriteLine("numString is not a valid byte");

decimal number3 = 0;
numString = "27.3"; //"27" is also a valid decimal
canConvert = decimal.TryParse(numString, out number3);
if (canConvert == true)
  Console.WriteLine("number3 now = {0}", number3);
else
  Console.WriteLine("number3 is not a valid decimal");            


또한 기본 숫자 형식에서는 문자열이 유효한 숫자가 아닌 경우 예외를 throw하는 정적 메서드 Parse를 구현합니다. 숫자가 유효하지 않은 경우 false를 반환하기 때문에 일반적으로 TryParse를 사용하는 것이 더 효과적입니다.

TryParse 또는 Parse를 사용하여 텍스트 상자와 콤보 상자 등의 컨트롤로부터 항상 사용자 입력의 유효성을 검사합니다.



출처 :  http://msdn.microsoft.com/ko-kr/library/bb384043.aspx
Posted by blueasa

댓글을 달아 주세요


텍스트박스에 한글만 입력하기

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    if((Char.IsPunctuation(e.KeyChar) || Char.IsDigit(e.KeyChar) || Char.IsLetter(e.KeyChar) || Char.IsSymbol(e.KeyChar)) && e.KeyChar != 8)
    {
        e.Handled = true;
    }
}

 

텍스트박스에 영어만 입력하기

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    if(!(Char.IsLetter(e.KeyChar)) && e.KeyChar != 8)
    {
        e.Handled = true;
    }
}

 

private void textBox1_Leave(object sender, System.EventArgs e)
{
    Regex emailregex = new Regex(@"[a-zA-Z]");
    Boolean ismatch = emailregex.IsMatch(textBox1.Text);
    if (!ismatch)
    {
        MessageBox.Show("영문자만 입력해 주세요.");
    }
}

 

텍스트박스에 숫자만 입력하기

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    if(!(Char.IsDigit(e.KeyChar)) && e.KeyChar != 8)
    {
        e.Handled = true;
    }
}

private void textBox1_Leave(object sender, System.EventArgs e)
{
    Regex emailregex = new Regex(@"[0-9]");
    Boolean ismatch = emailregex.IsMatch(textBox1.Text);
    if (!ismatch)
    {
        MessageBox.Show("숫자만 입력해 주세요.");
    }
}

 

음.. 이렇게 두번에 걸쳐 체크한 이유는 한글은 ProcessKey이기 때문에 KeyPress 이벤트가 일어나지 않기 때문입니다. 그렇기 때문에 텍스트박스에서 포커스가 벗어날때 정규식을 이용해 한번더 체크해줘야 합니다. 키값 8번은 백스페이스 값입니다.

 

자료출처 : C#개발자싸이트 http://www.sky.ph/

Posted by blueasa

댓글을 달아 주세요

  1. 2010.10.28 20:45 신고 blueasa  댓글주소  수정/삭제  댓글쓰기

    using System.Text.RegularExpressions;

    Regex를 쓸려면 위 namespace를 추가 해야됨.