money_get::do_get
가상 함수 호출에 화폐 가치를 나타내는 문자 시퀀스를 숫자 값을 추출 합니다.
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
bool _Intl,
ios_base& _Iosbase,
ios_base::iostate& _State,
long double& _Val
) const
virtual iter_type do_get(
iter_type _First,
iter_type _Last,
bool _Intl,
ios_base& _Iosbase,
ios_base::iostate& _State,
string_type& _Val
) const
매개 변수
_First
변환할 시퀀스의 시작 주소를 지정 하는 반복기를 입력 합니다._Last
변환할 시퀀스의 끝 주소를 지정 하는 반복기를 입력 합니다._Intl
입력 시퀀스에서 예상 되는 통화 기호를 나타내는 부울 값: true 국제 경우 거짓 국내 경우._Iosbase
형식 플래그는 설정 통화 기호입니다; 경우 그렇지 않으면 필수입니다._State
해당 비트 마스크 요소 또는 작업을 성공 여부에 따라 스트림의 상태를 설정 합니다._Val
변환 된 시퀀스를 저장 하는 문자열입니다.
반환 값
주소 통화 입력된 필드의 첫 번째 요소는 입력된 반복기입니다.
설명
보호 된 가상 멤버 함수는 첫 번째 시작 시퀀스에서 첫 번째 연속 요소와 일치 하도록 시도 [_First, _Last) 통화 번째로 완전히 인식 되었습니다 때까지 필드를 입력 합니다.성공이 필드 선택적으로 빼기 기호 앞에 하나 이상의 10 진수 숫자로 변환 하는 경우 (–) 양을 나타내는 데, 그 결과를 저장 하 고는 string_type 개체 _Val.통화 입력된 필드의 첫 번째 요소를 지정 하는 반복기를 반환 합니다.그렇지 않은 경우는 빈 시퀀스에 저장 _Val 설정 ios_base::failbit 에서 _State.접두사 유효한 통화 입력된 필드의 첫 번째 요소를 지정 하는 반복기를 반환 합니다.반환 값이 같은 경우 두 경우 모두에서 _Last, 함수 집합 ios_base::eofbit 에서 _State.
성공 하면 선택적으로 부호 있는 숫자가 시퀀스 형식의 값으로 변환 된다는 두 번째 보호 된 가상 멤버 함수는 첫 번째 동작 long double 에서 해당 값을 저장 하 고 _Val.
통화 입력된 필드의 형식으로 결정 되는 로케일 면fac 효과적인 호출에서 반환 된 use_facet <moneypunct<CharType, 국제>> (iosbase.getloc).
특히 다음과 같은 경우를 참조하십시오.
fac. neg_format 필드의 구성 요소에서 발생 하는 순서를 결정 합니다.
fac. curr_symbol 통화 기호 구성 요소의 순서를 결정 합니다.
fac. positive_sign 양수 부호가 구성 요소의 순서를 결정 합니다.
fac. negative_sign 음수 부호가 구성 요소의 순서를 결정 합니다.
fac. 그룹화 는 소수점 왼쪽으로 숫자를 그룹화 하는 방법을 결정 합니다.
fac. thousands_sep 는 소수점의 왼쪽을 구분 하는 요소를 결정 합니다.
fac. decimal_point 정수 자릿수를 소수 자릿수를 구분 하는 요소를 결정 합니다.
fac. frac_digits 상당 부분 자릿수는 소수점 오른쪽에 결정 합니다.금액에 호출 되어 보다 더 많은 소수 자릿수를 구문 분석할 때 frac_digits, do_get 최대 소비 후 구문 분석을 중지 frac_digits 자.
경우 기호 문자열 (fac.negative_sign or fac.positive_sign) 두 개 이상의 요소가 첫 번째 요소만 위치 일치 하는 요소와 같은 money_base::sign 형식 패턴에 나타납니다 (fac.neg_format).나머지 요소는 화폐 입력된 필드의 끝에 일치 됩니다.두 문자열 다음 요소 통화 입력된 필드에 일치 하는 첫 번째 요소에 있으면 기호 문자열 공백으로 가져와서 부호 양수입니다.
경우 iosbase. 플래그 &showbase 0,이 문자열은 fac.curr_symbol 위치와 일치 해야 하는 요소 money_base::symbol 형식 패턴에 나타납니다.그렇지 않으면 if money_base::symbol 형식 패턴의 끝에 발생 한 요소가 기호 문자열을 일치 시킬 남아 있으면 통화 기호 일치 하지 않음.그렇지 않으면 통화 기호 (선택 사항) 일치 합니다.
인스턴스가 없는 경우 fac.thousands_sep 통화 입력된 필드의 값 부분에서 발생 (위치와 같은 요소 money_base::value 형식 패턴에 표시), 그룹화 제약 조건이 없는 조건이 적용 됩니다.그렇지 않으면 모든 그룹화 제약 조건을 부과 하 여 fac. 그룹화 적용 됩니다.참고 결과 숫자 시퀀스는 낮은 순서 정수를 나타냅니다 fac.frac_digits 소수점이 하 자릿수 소수점 오른쪽에 간주 됩니다.
임의의 공백 문자는 일치 하는 위치 크거나 요소 money_base::space 이외의 형식 패턴의 끝에 나타나는 경우 형식 패턴에 나타납니다.그렇지 않으면 내부 공백 없이 일치 합니다.요소 ch 경우 공백은 간주 됩니다 use_facet <ctype<CharType> >(iosbase.getloc).is(ctype_base::space, ch) is true.
예제
예제를 보려면 가져오기을 호출 do_get.
요구 사항
헤더: <locale>
네임 스페이스: std