无聊的时候写的一个金额大小写转换的程序
c吧
全部回复
仅看楼主
level 6
18783904248 楼主
2014年03月22日 13点03分 1
level 3
顶!!!快出安卓版
2014年03月23日 08点03分 2
level 6
18783904248 楼主
额......
我只能说sorry,不会写安卓下的程序
2014年03月23日 09点03分 3
这么简单的东西,也不会
2014年03月23日 10点03分
如果是用c做的界面的话还不错哦
2014年03月23日 10点03分
回复 封天神奇 :c++的代码,用mfc做的界面
2014年03月23日 13点03分
回复 18783904248 :哦哦,我也会点
2014年03月24日 05点03分
level 11
楼主你数一数这是不是标准
十五字
2014年03月24日 06点03分 4
什么意思
2014年03月24日 07点03分
回复 18783904248 :424547896789.5445445 经过错误处理后是这个数字
2014年03月24日 07点03分
level 2
求教!!!楼主你怎么把代码弄成界面的?
2014年03月24日 07点03分 5
mfc程序
2014年03月24日 07点03分
回复 18783904248 :可以编c语言和c++吗?
2014年03月24日 07点03分
回复 公子小白小小白 : 自己去查阅下什么事mfc,实现过程是用c++
2014年03月24日 07点03分
回复 18783904248 :好,多谢楼主
2014年03月24日 07点03分
level 10
顶一下
2014年03月25日 00点03分 6
界面只是简单的p了下,ps会点皮毛
2014年03月25日 00点03分
level 11
求代码
2014年03月25日 01点03分 8
代码已经贴在后面了
2014年03月25日 04点03分
level 6
18783904248 楼主
靠,本来都要沉了,居然给顶起来了,谢谢大家
2014年03月25日 01点03分 9
level 9
[email protected]楼主恩赐
2014年03月25日 01点03分 10
代码已经贴在后面了
2014年03月25日 04点03分
level 6
18783904248 楼主
错误处理的代码
//检查数据合法性
//返回一个标准的数值字符串
extern "C" _dec
lsp
ec(dllexport) LPCWSTR CalNum::CheckString(CString str)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(IsCheckString==false)
{
for(int i=0;i<nError;i++)
{
CalNum::ErrNo[i]=NOERROR;
}
}
//////////////////
CString symbol;//正负数符号.这里整数符号用空字符表示,负数用'-'表示,两个负号不表示正数
int PointPosition=-1;//小数点位置
if(str.GetLength()==0)
{
str=L"0";//
SystemTip=3;//输入数据为空,自动转换为0计算
}
if(str.Find('-')==0)
symbol=L"-";
else
symbol=L"";
//////////////////
if(str.Find(L".")==0)
{
str=L"0"+str;
}
////去掉中文字符和字母
CString t;
for(int i=0;i<str.GetLength();i++)
{
wchar_t ch=str.GetAt(i);
if(IsDBCSLeadByte(ch))
{
t+=L"";
CalNum::ErrNo[2]= ERROR_HAVE_CHINESE_CHAR;//有中文字符
//ErrNo[2]= 10002;
}
else if(ch>='0' && ch<='9')
{
t+=ch;
}
else if(ch=='.')
{
t+=ch;
}
else if(ch>='a' && ch<='z' || ch>='A' && ch<='Z')
{
t+=L"";
CalNum::ErrNo[3]=ERROR_HAVE_ENGLISH_CHAR;//有英文字符
//ErrNo[3]=10003;
}
else
{
t+=L"";
if(!IsDBCSLeadByte(ch))
{
CalNum::ErrNo[1]= ERROR_INPUT_OTHER_SYMBOL;//特殊符号
//ErrNo[2]= 10002;
}
}
}
str=t;
if(str.Find('.',0)==0)
{
str=L"0"+str;//输入数据第一位是小数点时进行错误处理
}
CString LeftStringOfstrNumber,RightStringOfstrNumber;//整数部分和小数部分
PointPosition=str.Find('.');
if(PointPosition!=-1)//根据数据中是否有小数点进行分别处理
{
LeftStringOfstrNumber=str.Mid(0,PointPosition);
RightStringOfstrNumber=str.Mid(PointPosition+1,str.GetLength()-PointPosition-1);
}
else
{
LeftStringOfstrNumber=str;
RightStringOfstrNumber=L"";
}
//去掉数据中多余的小数点
if(RightStringOfstrNumber.Find(L".")!=-1)
{
RightStringOfstrNumber.Replace(L".",L"");
CalNum::ErrNo[6]=ERROR_INPUT_MORE_POINT;//多输入了小数点
//ErrNo[6]=10006;
}
////////////////////////////////////////
t=L"";
RightStringOfstrNumber.MakeReverse();
for(int i=0;i<RightStringOfstrNumber.GetLength();i++)
{
if(RightStringOfstrNumber.Mid(i,1)!=L"0")
{
t=RightStringOfstrNumber.Mid(i,RightStringOfstrNumber.GetLength()-i);
break;
}
}
RightStringOfstrNumber=t;
RightStringOfstrNumber.MakeReverse();
RightStringOfstrNumber.Replace(L"-",L"");//
//去掉前面重复的零
//最前面不能有连续的数0和错误的符号
//去掉数据中多余的负号
if(LeftStringOfstrNumber.Find(L"-")!=-1)
{
LeftStringOfstrNumber=LeftStringOfstrNumber.Mid(1,LeftStringOfstrNumber.GetLength()-1);
LeftStringOfstrNumber.Replace(L"-",L"");
CalNum::ErrNo[1]=ERROR_INPUT_OTHER_SYMBOL;
//ErrNo[1]=10001;
}
//去掉数据中多余的小数点
if(LeftStringOfstrNumber.Find(L".")!=-1)
{
LeftStringOfstrNumber.Replace(L".",L"");
CalNum::ErrNo[6]=ERROR_INPUT_MORE_POINT;
// ErrNo[6]=10006;
}
//处理前面重复的零
for(int i=0;i<LeftStringOfstrNumber.GetLength();i++)
{
if(LeftStringOfstrNumber.Mid(i,1)!="0")
{
LeftStringOfstrNumber=LeftStringOfstrNumber.Mid(i,LeftStringOfstrNumber.GetLength()-i);
break;
}
else
{
if(i>1)
{
CalNum::ErrNo[5]=ERROR_ZERO;
//ErrNo[5]=10005;
}
}
}
if(PointPosition!=-1)//根据数据中是否有小数点进行分别处理
{
str=symbol+LeftStringOfstrNumber+L"."+RightStringOfstrNumber;//重新组合数据
}
else
{
str=symbol+LeftStringOfstrNumber+RightStringOfstrNumber;//重新组合数据
}
//wchar_t *ResultNumber=(wchar_t*)malloc(sizeof(str)+1);
wchar_t *ResultNumber=new wchar_t[str.GetLength()+1];
for(int i=0;i<str.GetLength();i++)
{
wchar_t ch=str.GetAt(i);
ResultNumber[i]=ch;
}
ResultNumber[str.GetLength()]='\0';
IsCheckString=true;
return (LPCWSTR)ResultNumber;
}
2014年03月25日 04点03分 12
level 9
好贴。。。。。给楼主32个赞
2014年03月25日 05点03分 13
level 6
18783904248 楼主
转换按钮的代码
2014年03月25日 06点03分 15
level 9
还差一点经验我就7级,阿弥陀佛。
2014年03月25日 07点03分 16
1