1、Ansistring 转 char/Ansistring 转 char void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = 哈哈; char *chr = Test.c_str(); /char转Ansistring #include void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString str = Sample; char chrMAX_PATH; strcpy( chr , str.c_str() ); /Bool转AnsiStri
2、ng void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test=BoolToStr(CheckBox1-Checked); /Ansistring转bool void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test=-1 CheckBox1-Checked= StrToBool( Test ); /int转ansistring void _fastcall TForm1:Button1Click(TObject *Sender) int i
3、 = 123; AnsiString str = IntToStr( i ); /AnsiString转double void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = 123; long double d = StrToFloat( Test ); /double转AnsiString void _fastcall TForm1:Button1Click(TObject *Sender) double d = 123.456; AnsiString str = FloatToStr( d ); /doub
4、le转AnsiString并四舍五入 void _fastcall TForm1:Button1Click(TObject *Sender) long double d = 123.456121212; AnsiString str = FloatToStrF( d , ffFixed ,5 , 4 ); /说明FloatTostrF里5代表从第几个数字的后一位开始四舍五入,4代表取4位小数。 /执行后得到str是123.4600。:roll: /double转AnsiString使用类似vb的format函数 void _fastcall TForm1:Button1Click(TObjec
5、t *Sender) double d = 123.456; AnsiString str = FormatFloat( 000000.00 , d ); /得到 000123.45,当然你可以使用# . , ; E+ E- xx等符号,你自己试试 :wink: /AnsiString转Tclor型 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = 0x00FF8080; TColor Col = StringToColor( Test ); /Tcolor转AnsiString void _fastca
6、ll TForm1:Button1Click(TObject *Sender) TColor Col = 0x00FF8080; AnsiString str = ColorToString( Col ); /消除AnsiString 中的一部分字符串 代码: void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF; int First = 3; / 消除制定开头 int Length = 2; / 消除制定长度 AnsiString Dstr = Test.Delete( First , Len
7、gth ); /得到ABEF /在AnsiString 中插入字符串 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF; AnsiString Ins = 12345; / 插入串 int Pos = 3; / 在哪插 AnsiString Istr = Test.Insert( Ins , Pos ); /得到AB12345CDEF /取得ansi某一位字符 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Tes
8、t = ABCDEF; AnsiString Npos = Test3;/得到C /取得AnsiString里最后一个字符 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF; char *Lstr = Test.AnsiLastChar();/得到F /取出AnsiString字符,这个类似vb的mid函数! void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF; int First = 3;
9、 / 3开始取 int Length = 2; / 取2位 AnsiString Getstr = Test.SubString( First , Length ); /得到CD /AnsiString的字母比较 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF; AnsiString Sample = abcdef; int Result = Test.AnsiCompare( Sample ); /返回1,不同!分大小写。 void _fastcall TForm1:Button1Cli
10、ck(TObject *Sender) AnsiString Test = ABCDEF; AnsiString Sample = abcdef; int Result = Test.AnsiCompareIC( Sample ); /返回0,相同!没有分大小写,哈哈 /在AnsiString中寻找字符 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF; AnsiString Sample = E; int Result = Test.Pos( Sample ); /返回5,如果你写Samp
11、lehaha,就返回0,找不到,哈哈 /在AnsiString中找字符串,和上一个类似 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF; AnsiString Sample = EF; int Result = Test.Pos( Sample ); /返回5,即E字符的位置 /判断字符串长度,类似vb的len void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = 拿金币来; int Len = Test
12、.Length(); /返回8 /取得字符串,类似vb的left void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = 小苹果然看了这篇文章; AnsiString SLstr = Test.SetLength(6); /得到小苹果 /检测双字节字串 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString ChkStr = 你好; int ChkPos = 1 ; if ( ByteType( ChkStr , ChkPos ) = mbS
13、ingleByte ) Edit1-Text=0; else Edit1-Text=1; /返回1,如果你写ChkStrfxxk,就返回0 /检测空字符串 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ; bool chk = Test.IsEmpty(); if (chk ) Edit1-Text=1;/返回1 /全部变小写vs全部变大写 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCdef; Ans
14、iString Lstr = Test.LowerCase(); 代码: void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCdef; AnsiString Ustr = Test.UpperCase(); /类似vb中Trim 的去空格函数 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = ABCDEF ; AnsiString TLstr = Test.TrimLeft(); AnsiString TRstr
15、 = Test.TrimRight(); AnsiString Tstr = Test.Trim(); /但是,这个处理不了全角的空格 代码: AnsiString _fastcall TForm1:TrimStr( AnsiString Tm , AnsiString LR ) / LR L:左除去 R:右除去 B:dou除去 int len; / 左除去 if ( LR = L | LR = B ) len = Tm.Length(); while ( Tm.SubString(1,1) = | Tm.SubString(1,2) = ) / 半角除去 if ( Tm.SubString(
16、1,1) = ) Tm = Tm.SubString(2,len); len = Tm.Length(); / 全角除去 else if ( Tm.SubString(1,2) = ) Tm = Tm.SubString(3,len); len = Tm.Length(); / 右除去 if ( LR = R | LR = B ) len = Tm.Length(); while ( Tm.SubString(len,1) = | Tm.SubString(len-1,2) = ) / 半角除去 if ( Tm.SubString(len,1) = ) len = Tm.Length(); T
17、m = Tm.SubString(1,len-1); len = Tm.Length(); / 全角除去 else if ( Tm.SubString(len-1,2) = ) len = Tm.Length(); Tm = Tm.SubString(1,len-2); len = Tm.Length(); return Tm; void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Test = 拳脚; AnsiString Ret = TrimStr(Test,B) /相同字符重复输入 void _fastcall TF
18、orm1:Button1Click(TObject *Sender) AnsiString Soc = AnsiString:StringOfChar( * , 100 ); Edit1-Text=Soc ;/显示100个* /字符串替换 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Str = Borland C+ Builder is free; AnsiString From = C+ Builder; AnsiString To = Delphi; AnsiString Result; Result = S
19、tringReplace( Str, From, To, TReplaceFlags() rfReplaceAll rfIgnoreCase ); /Text=Han; /半角变全角 void _fastcall TForm1:Button1Click(TObject *Sender) AnsiString Han = 1234567890; int Len = Han.Length(); char bufMAX_PATH; ZeroMemory( buf, sizeof( buf ) ); LCMapString( GetUserDefaultLCID(), LCMAP_FULLWIDTH,
20、 Han.c_str(), Len, buf, sizeof( buf ) ); AnsiString Zen = AnsiString( buf ); atoi(将字符串转换成整型数)相关函数atof,atol,atrtod,strtol,strtoul表头文件#include定义函数int atoi(const char *nptr);函数说明atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时()才结束转换,并将结果返回。返回值返回转换后的整型数。附加说明atoi()与使用strtol(nptr,(char*)NULL
21、,10);结果相同。范例/* 将字符串a 与字符串b转换成数字后相加*/#includemian()char a=”-100”;char b=”456”;int c;c=atoi(a)+atoi(b);printf(c=%d ”,c);执行c=356假设定义一个char s=3;想得到它的值3,放入int t中,问要用什么方法? 不知道楼主是不是这么想的,定义一个字符型变量s,让它的A码为3,但在现实的时候现在它的十进制A码?如果是这样的话 #include #include using namespace std; int mian() char s=3,int t; t=s; cout dec s: s endl; /dec使s以10进制显示/ return 0; char 0的ASICC为 48根据此原理进行转换即可 int t; t=(int)s-48; 有两种方式: 1、char c = 3; char str2; str0 = c; str1 = 0;/or str1 = 0; int i = atol(str);/ok 2、char c = 3; int t = c - 0;/ok #include #include #include std:string str = 123; std:stringstream ss; int i = 0; ss i;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1