책 보다가 이해 안가서 실습을 해봤어요
숫자서식코드 실습사진에 8번 보면
원본데이터 / 지정된서식 /결과데이터
45 / ###% / 4500%
#을 3개붙이면 4500% 나오지만
1개붙여도 4500% 나오더라구요
그럴거면 1개 붙여도 될텐데 왜 3개나 붙였는지 궁금하구요
#이 유효한 자릿수를 표시한다고 써있던데
그럼 12345를 표시할때는 #####식으로 써야하고
452000000은 ######### 이런식으로 써야하나요??
현재 원본데이터(45)의 경우에는 질문내용대로 #을 한개 붙혀도, 3개를 붙혀도 결과는 같습니다.
# : 한개이상의 숫자를 표현합니다...
예를 들어
사용자지정서식 : #"원"
입력값 : 1 ------> 결과 : 1원
입력값 : 10 -------> 결과 : 10원
입력값 : 100 --------> 결과 : 100원
.
.
.
.
입력값 : 1000000 --------> 결과 : 1000000원
과 같이 #이 하나이상 붙어 있으면, 1이상의 자리는 전부 받아서 표현합니다...
하지만....!!소숫점이 들어간다면? 얘기가 좀 달라집니다.
사용자지정서식 : #.#"원"
입력값 : 1.14 -------> 결과 : 1.1원
입력값 : 3.15 -------> 결과 : 3.2원
입력값 : 3.142528 ---------> 결과 : 3.1원
.
.
보시는 바와 같이 유효한자릿수(소수점이하 한자리)를 표현하게 됩니다.
이때 소수점이하 첫째 자리까지만 유요하게 지정했으므로, 두번째자리부터는 표시하지 않게 됩니다.
소수점이하 두번째 자리가 5이상일 경우, 위의 두번째 예와 같이 반올림하여 3.15를 3.2로 표현하게 됩니다.
유효한자릿수를 표시 한다는것은 이때라고 보시면 됩니다. 소수점이상일경우에는 갯수와 자릿수를 맞추실 필요는 없습니다..
마찬가지로 # 이 아닌 0일경우...
둘다 숫자를 받아서 표시하지만, #과 0의 큰 차이는 빈자리를 표시하느냐, 하지 않느냐 차이 입니다.
#은 빈자리를 공백으로 표시하지만, 0은 빈자리를 0으로 채워줍니다.
예를 들어
사용자 지정서식 : ### 일경우..
입력값 : 1 ------> 1 ( #이 세자리 이지만, 입력값이 한자리 이므로, 빈자리는 공백으로 표시 !)
입력값 : 12 ------> 12 ( 마찬가지로 #이 세자리지만, 입력값이 두자리므로, 빈자리는 공백!)
입력값 : 123 -----> 123 ( #과 자리수가 맞네요..큰의미는 없습니다)
입력값 : 1234 -----> 1234 (아까말씀드렸듯이, 소수점이상일경우 초과된 숫자는 #의 개수가의미없음)
하지만...
사용자 지정서식 : 000 일경우..
입력값 : 1 ------> 001 ( 0이 세자리 이고, 입력값이 한자리 이므로, 빈자리는 0으로 메꿔줌 !)
입력값 : 12 ------> 012 ( 마찬가지로 0이 세자리 이고, 입력값이 두자리므로, 빈자리는 0으로!)
입력값 : 123 -----> 123 ( 0과 자리수가 맞네요..그래서 그냥 그대로 표시)
입력값 : 1234 -----> 1234 (#과 마찬가지로 소수점이상일경우 초과된 숫자는 0의 개수가의미없음)
이렇게 됩니다...
#이 유효한 자릿수를 표시한다고 써있던데
그럼 12345를 표시할때는 #####식으로 써야하고
452000000은 ######### 이런식으로 써야하나요??
=>소수점 이상으로 초과되는 숫자에 대해서는 기호와 숫자의 자릿수를 고려할 필요가 없습니다.
근데...상황에 따라 소수점이상의 숫자도 기호와 자릿수를 고려할때가 있습니다.
, (콤마) : 사용자 지정서식에서 천단위 기호를 표시(숫자가 1000이상일때만)
콤마기호를 이용할때 예를 들겠습니다.
사용자 지정 서식 : #,###
입력값 : 1 ---> 결과 : 1 (숫자가 천(1000)이 넘질 않으므로, 그냥 1)
입력값 : 100 ---> 결과 : 100 (마찬가지로 숫자가 천(1000)이 넘질 않으므로, 그냥 1)
입력값 : 1000 ---> 결과 : 1,000 (숫자가 천(1000)이 넘어서 세번째 숫자 앞에 콤마가 붙습니다.)
사실 이경우 #,### 과 #,## 그리고 #,# 전부다 같은 결과를 냅니다.
위에서 말씀드렸듯이 천단위 기호는 숫자가 천 이상일때 표시되니깐요, 그리고 소수점이상 숫자일때 자리수를 맞출필요가 없으니깐요...
하지만... 콤마가 두번붙는다면?
사용자 지정 서식 : #,###,
입력값 : 1 ----> 결과 : 공백 ( 아무것도 표시되지 않음, 수식입력줄에만 1이라는 결과가 보임)
입력값 : 100 -----> 결과 : 공백 (아무것도 표시 되지 않음 , 수식입력줄에만 100이라는 결과가 보임)
현재 설정된 사용자지정서식은 콤마가 두개 붙습니다. 뒤에 콤마는 천의 자리 앞의 콤마는 백만 자리가 됩니다.(ex: 1,000,000 과 같은 형태의 숫자를 상상해보시면 됩니다.)
즉, 천의자리 콤마뒤에 숫자를 받아주는 기호가 없으므로 표시하지 않습니다.
1000이상을 입력했을때..
입력값 : 1000 -----> 결과 : 1 ( 천의자리부터 숫자를 표시하고, 뒤에숫자는 표시하지 않으니깐...)
입력값 : 1000000 -------> 결과 : 1,000 (마찬가지로 천의자리부터 표시)
사실 #,###, 라고 쓴건...그냥 보기 편하라고 쓴겁니다. 백만단위라고 내가 잘 보기 위해..
#,#, 라고 써도 결과는 같습니다. #,##, 라고 써도 마찬가지죠...
질문과 조금 벗어난 답변을 드리는 이유는..
소숫점이상의 숫자에서 자리수를 맞출 필요는 없지만,
#은 "유효한숫자를 표시"한다 라는 것을 이해하시는데 도움이 될까 해서 적어봤습니다.
말이 길어졌네요..
즐공하세요
-
*2013-10-04 12:04:51
현재 원본데이터(45)의 경우에는 질문내용대로 #을 한개 붙혀도, 3개를 붙혀도 결과는 같습니다.
# : 한개이상의 숫자를 표현합니다...
예를 들어
사용자지정서식 : #"원"
입력값 : 1 ------> 결과 : 1원
입력값 : 10 -------> 결과 : 10원
입력값 : 100 --------> 결과 : 100원
.
.
.
.
입력값 : 1000000 --------> 결과 : 1000000원
과 같이 #이 하나이상 붙어 있으면, 1이상의 자리는 전부 받아서 표현합니다...
하지만....!!소숫점이 들어간다면? 얘기가 좀 달라집니다.
사용자지정서식 : #.#"원"
입력값 : 1.14 -------> 결과 : 1.1원
입력값 : 3.15 -------> 결과 : 3.2원
입력값 : 3.142528 ---------> 결과 : 3.1원
.
.
보시는 바와 같이 유효한자릿수(소수점이하 한자리)를 표현하게 됩니다.
이때 소수점이하 첫째 자리까지만 유요하게 지정했으므로, 두번째자리부터는 표시하지 않게 됩니다.
소수점이하 두번째 자리가 5이상일 경우, 위의 두번째 예와 같이 반올림하여 3.15를 3.2로 표현하게 됩니다.
유효한자릿수를 표시 한다는것은 이때라고 보시면 됩니다. 소수점이상일경우에는 갯수와 자릿수를 맞추실 필요는 없습니다..
마찬가지로 # 이 아닌 0일경우...
둘다 숫자를 받아서 표시하지만, #과 0의 큰 차이는 빈자리를 표시하느냐, 하지 않느냐 차이 입니다.
#은 빈자리를 공백으로 표시하지만, 0은 빈자리를 0으로 채워줍니다.
예를 들어
사용자 지정서식 : ### 일경우..
입력값 : 1 ------> 1 ( #이 세자리 이지만, 입력값이 한자리 이므로, 빈자리는 공백으로 표시 !)
입력값 : 12 ------> 12 ( 마찬가지로 #이 세자리지만, 입력값이 두자리므로, 빈자리는 공백!)
입력값 : 123 -----> 123 ( #과 자리수가 맞네요..큰의미는 없습니다)
입력값 : 1234 -----> 1234 (아까말씀드렸듯이, 소수점이상일경우 초과된 숫자는 #의 개수가의미없음)
하지만...
사용자 지정서식 : 000 일경우..
입력값 : 1 ------> 001 ( 0이 세자리 이고, 입력값이 한자리 이므로, 빈자리는 0으로 메꿔줌 !)
입력값 : 12 ------> 012 ( 마찬가지로 0이 세자리 이고, 입력값이 두자리므로, 빈자리는 0으로!)
입력값 : 123 -----> 123 ( 0과 자리수가 맞네요..그래서 그냥 그대로 표시)
입력값 : 1234 -----> 1234 (#과 마찬가지로 소수점이상일경우 초과된 숫자는 0의 개수가의미없음)
이렇게 됩니다...
#이 유효한 자릿수를 표시한다고 써있던데
그럼 12345를 표시할때는 #####식으로 써야하고
452000000은 ######### 이런식으로 써야하나요??
=>소수점 이상으로 초과되는 숫자에 대해서는 기호와 숫자의 자릿수를 고려할 필요가 없습니다.
근데...상황에 따라 소수점이상의 숫자도 기호와 자릿수를 고려할때가 있습니다.
, (콤마) : 사용자 지정서식에서 천단위 기호를 표시(숫자가 1000이상일때만)
콤마기호를 이용할때 예를 들겠습니다.
사용자 지정 서식 : #,###
입력값 : 1 ---> 결과 : 1 (숫자가 천(1000)이 넘질 않으므로, 그냥 1)
입력값 : 100 ---> 결과 : 100 (마찬가지로 숫자가 천(1000)이 넘질 않으므로, 그냥 1)
입력값 : 1000 ---> 결과 : 1,000 (숫자가 천(1000)이 넘어서 세번째 숫자 앞에 콤마가 붙습니다.)
사실 이경우 #,### 과 #,## 그리고 #,# 전부다 같은 결과를 냅니다.
위에서 말씀드렸듯이 천단위 기호는 숫자가 천 이상일때 표시되니깐요, 그리고 소수점이상 숫자일때 자리수를 맞출필요가 없으니깐요...
하지만... 콤마가 두번붙는다면?
사용자 지정 서식 : #,###,
입력값 : 1 ----> 결과 : 공백 ( 아무것도 표시되지 않음, 수식입력줄에만 1이라는 결과가 보임)
입력값 : 100 -----> 결과 : 공백 (아무것도 표시 되지 않음 , 수식입력줄에만 100이라는 결과가 보임)
현재 설정된 사용자지정서식은 콤마가 두개 붙습니다. 뒤에 콤마는 천의 자리 앞의 콤마는 백만 자리가 됩니다.(ex: 1,000,000 과 같은 형태의 숫자를 상상해보시면 됩니다.)
즉, 천의자리 콤마뒤에 숫자를 받아주는 기호가 없으므로 표시하지 않습니다.
1000이상을 입력했을때..
입력값 : 1000 -----> 결과 : 1 ( 천의자리부터 숫자를 표시하고, 뒤에숫자는 표시하지 않으니깐...)
입력값 : 1000000 -------> 결과 : 1,000 (마찬가지로 천의자리부터 표시)
사실 #,###, 라고 쓴건...그냥 보기 편하라고 쓴겁니다. 백만단위라고 내가 잘 보기 위해..
#,#, 라고 써도 결과는 같습니다. #,##, 라고 써도 마찬가지죠...
질문과 조금 벗어난 답변을 드리는 이유는..
소숫점이상의 숫자에서 자리수를 맞출 필요는 없지만,
#은 "유효한숫자를 표시"한다 라는 것을 이해하시는데 도움이 될까 해서 적어봤습니다.
말이 길어졌네요..
즐공하세요