checkout.cpp

来自「使用vc开发的个人信息管理系统」· C++ 代码 · 共 192 行

CPP
192
字号
#include "StdAfx.h"
#include "checkout.h"

CCheckout::CCheckout(void)
{
}

CCheckout::~CCheckout(void)
{
}

bool CCheckout::IsNumber(CString inputVal)
{
	char SelectAt;
	for(int i=0;i<inputVal.GetLength();i++){
		SelectAt=inputVal.GetAt(i);
		if((SelectAt<'0' || SelectAt>'9') && SelectAt!='.')
			return false;
	}
	return true;
}

bool CCheckout::IsDate(CString inputVal)
{
	char SelectAt;
	int month,day;
	month=0;
	day=0;
	int n=inputVal.GetLength();
	//判断字符串是否是yyyymmdd或者yyyy-mm-dd
	if(inputVal.GetLength()==8 || inputVal.GetLength()==10){
		for(int i=0;i<inputVal.GetLength();i++){
			SelectAt=inputVal.GetAt(i);
			if(inputVal.GetLength()>8){
				if(i==4 || i==7){
					if(SelectAt!='-')
						return false;
				}else{
					if(SelectAt<'0' || SelectAt>'9')
						return false;
				}
			}else{
				if(SelectAt<'0' || SelectAt>'9')
					return false;
			}
		}
		for(i=0;i<inputVal.GetLength();i++){
			SelectAt=inputVal.GetAt(i);
			if(inputVal.GetLength()>8){
				if(i==5 && SelectAt>'1') return false;
				if(inputVal.GetAt(5)=='0'){
					if(i==6 && SelectAt>'9') return false;
				}else{
					if(i==6 && SelectAt>'2') return false;
				}
				if(i==8 && SelectAt>'3') return false;
				if(inputVal.GetAt(8)<'3'){
					if(i==9 && SelectAt>'9') return false;
				}else{
					if(i==9 && SelectAt>'1') return false;
				}
			}else{
				if(i==4 && SelectAt>'1') return false;
				if(inputVal.GetAt(4)=='0'){
					if(i==5 && SelectAt>'9') return false;
				}else{
					if(i==5 && SelectAt>'2') return false;
				}
				if(i==6 && SelectAt>'3') return false;
				if(inputVal.GetAt(6)<'3'){
					if(i==7 && SelectAt>'9') return false;
				}else{
					if(i==7 && SelectAt>'1') return false;
				}
			}
		}
	}else{
		return false;
	}
	return true;
}

CString CCheckout::SetDate(CString InputDate)
{
	CString SelectAt;
	SelectAt.Empty();
	SelectAt="yyyy-mm-dd";
	int j=0;
	if(InputDate.GetLength()==8){
		for(int i=0;i<InputDate.GetLength();i++){
			if(i==3 ||i==5){
				SelectAt.SetAt(j,InputDate.GetAt(i));
				j++;
				SelectAt.SetAt(j,'-');
				j++;
			}else{
				SelectAt.SetAt(j,InputDate.GetAt(i));
				j++;
			}
		}
		return SelectAt;
	}else{
		return InputDate;
	}
}

bool CCheckout::IsString(CString inputVal,int strLength )
{
	if(inputVal.GetLength()>strLength)
		return false;
	return true;
}

CString CCheckout::TrimLeftRight(CString str)
{
	str.TrimLeft(" ");
	str.TrimRight(" ");
	return str;
}

float CCheckout::TranFloat(CString InputVal)
{
	float MyVal=0,SingleVal=0;
	char MyChar;
	int j=1;
	bool b_Char=false;
	for(int i=0;i<InputVal.GetLength();i++){
		MyChar=InputVal.GetAt(i);
		//字符0对应的ASCII码值为48
		if(MyChar=='.') b_Char=true;
		else{
			if(!b_Char) MyVal=MyVal*10+((float)MyChar-48);
			else{
				SingleVal=SingleVal+((float)MyChar-48)/(j*10);
				j*=10;
			}
		}
	}
	MyVal=MyVal+SingleVal;
	return MyVal;
}

int CCheckout::TranTime(CString InputVal)
{
	int MyVal=0,SingleVal=0,b_Val=0;
	int i=0;
	char MyChar;
	while(i<InputVal.GetLength()){
		MyChar=InputVal.GetAt(i);
		if(MyChar==':'){
			b_Val++;
			if(b_Val==2) break;
		}
		//字符0对应的ASCII码值为48
		if(b_Val==0 && MyChar!=':') MyVal=MyVal*10+((int)MyChar-48);
		if(b_Val==1 && MyChar!=':')	SingleVal=SingleVal*10+((int)MyChar-48);
		i++;
	}
	MyVal=MyVal*60+SingleVal;
	return MyVal;
}

int CCheckout::StringToInt(CString InputVal)
{
	char MyChar;
	int MyVal=0;
	for(int i=0;i<InputVal.GetLength();i++){
		MyChar=InputVal.GetAt(i);
		MyVal=MyVal*10+((int)MyChar-48);
	}
	return MyVal;
}

bool CCheckout::OldIdcard(CString idcard)
{
	int Month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	int Month4[12]={31,29,31,30,31,30,31,31,30,31,30,31};
	int nYear,nMonth,nDay;
	for(int i=0;i<4;i++){
		nYear=nYear*10+StringToInt(idcard.GetAt(i));
	}
	nMonth=StringToInt(idcard.GetAt(5))*10+StringToInt(idcard.GetAt(6));
	if(nMonth>12) return false;
	nDay=StringToInt(idcard.GetAt(8))*10+StringToInt(idcard.GetAt(9));
	if(nYear%4){
		if(nDay>Month[nMonth-1]) return false;
	}else{
		if(nDay>Month4[nMonth-1]) return false;
	}
	return true;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?