java中两个字符串如何比较大小 。
有三种方法实现
第一种直接用字符串类的pareTo方法:
String t1="20131011"; String t2="20131030"; int result = t1pareTo(t2);第二种是把这个日期字符串转换成long:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Date d1 = sdf.parse(t1); Date d2 = sdf.parse(t2); long result = d1.getTime()-d2.getTime();第三种是把日期字符串转换成整形int:
int int1 = Integer.parseInt(t1); int int2 = Integer.parseInt(t2); int result = int1-int2;注:result大于0,则t1>t2;
result等于0,则t1=t2;
result小于0,则t1 。
字符串大小比较的规则? 。
比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。
比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。
再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。
所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。
java怎么比较字符串大小?
比较两个字符串的的大小 str1和str2分别是两个字符串str1==str2或者是。
str1.equals(str2)如果要是两个字符串忽略大小写的话用。
str1.equalsIgnoreCase(str2)也可以是 str1pareTo(str2)。
第二个用加号连接起来就可以了。
C语言中字符串的大小指的是什么 。
以字符是ASCII值确定,憨较规则是,从第一个字符开始,顺次向后直到出现不同的字符为止,然后以第一个不同的字符的ASCII值确定,例如上面的”abc”和"aabdfg",由于第一个字符相同,都是'a'所以看下一个字符,第二个字符,一个是'b',一个是‘a',由于b的ASCII值比a的ASCII值大,所以,这二个字符串的比较结果是"abc">"aabdfg"。
c语言中比较字符串的strcmp函数是怎么比较大小的?
strcmp(s1,s2) 对两个字符串进行比较,逐一比较字符的ascii码,a为97,A为65 所以a>A;分出大小后面不再比较;
如果s1>s2,返回1;
如果s1=s2,返回0;
如果s1
在C语言中字符串的大小怎么比较啊?
strcmp
原型:extern int strcmp(char *s1,char * s2);。
用法:#include
功能:比较字符串s1和s2。
说明:
当s1
当s1=s2时,返回值=0
当s1>s2时,返回值>0。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇 '\0'为止。如:
"abcdefg"和"12",首先比较'a'和'1','a'的ASC码是97,'1'的ASC码是49,所以"abcdefg"> "12",返回值是97-49=48。
"abc"和"ABC",首先比较'a'和'A','a'的ASC码是97,'A'的ASC码是65,所以"abc"> "ABC",返回值是97-65=32。
"1000"和"2",首先比较'1'和'2','1'的ASC码是49,'2'的ASC码是50,所以"1000"< "2",返回值是49-50=-1。
字符串大小比较
如果单纯比较长度,直接调用类似于strlen()之类的函数就可以,加以比较即可.。
如果比较字符串的大小,则比较的是字符的ASCII编码的大小.你搜索一下ASCII码表就可以得知每一个ASCII字符的大小. 参考wpyz/noip/11-1.asp。
在比较时,设置一个计数器,从零开始,一直循环到最短的那个字符结束,一位一位进行比较,。
1.如果 字符串1的第n位的ASCII码值 等于 字符串2的第n位的ASCII码值。
则 继续比较下一位
2.如果 字符串1的第n位的ASCII码值 大于 字符串2的第n位的ASCII码值。
则 输出结果:1,表示字符串1 > 字符串2;。
3.如果 字符串1的第n位的ASCII码值 小于 字符串2的第n位的ASCII码值。
则 输出结果:-1 表示字符串1 < 字符串2;。
4.如果 每一位的ASCII码值都相等,而且长度相同,。
则 输出结果:0 表示字符串1 == 字符串2;。
5.如果 字符串1是字符串2的前m位,例如 abcd 与abcdef 比较,。
则 字符串1
原因是,到第5位时,字符串1的ASCII值是0,而字符串2的ASCII值为'e',即十进制的101,当然是字符串2大了.。
具体到 cds和lesoqd。
从第一位开始,'c'和'l'比较,当然是'c' < 'l'了,所以,"cds" < "lesoqd"。
常用的几位ascii的顺序从小到大为:。
0..9, A..Z, a..z.。
谁编个比较2个字符串大小的程序 。
我这个简单
#include
bi(char a[],char b[])。
{
int x,y;
x=0;
y=0;
while(a[x]==b[x]&&a[x]!='\0') x++;。
if(a[x]=='\0'&&b[x=='\0']) y=0;。
else y=a[x]-b[x];。
if(y==0) printf("\ns1=s2\n");。
else if(y>0) printf("\ns1>s2\n");。
else printf("\ns1 。
}
void main()
{
char s1[100],s2[100];。
gets(s1);
gets(s2);
bi(s1,s2);
}
C++字符串比较大小
字符串的比较是逐个相应字符进行比较(比较他们的ASCII码),直到有两个字符不相等为止,ASCII码大的字母所在字符串就大,与字符串长度无关。对两个相等长度的字符串,若每个字符都比较完毕后仍相等,则两字符串相等;对不等长的字符串,若当短的字符串比较完毕时所有字符仍相等,则长度较长的字符串大!
可以使用库函数strcmp判断:strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, char *b);该函数会对a和b的每个字符,按照ascii码值比较,如果二者完全相同返回0;如果a的ascii码值先出现较大者,会返回1;否则返回-1。所以,要判断字符串相等,可以使用。
"); else printf("str_1 is not equal to str_2.。
"); if (strcmp(str_1, str_3) == 0) printf("str_1 is equal to str_3.。
"); else printf("str_1 is not equalto str_3.。
");} 上例的打印输出如下所示: str_1 is equal to str_2. str_1 is not equal to str_3. strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一。
串接子串
“串接”是 Σ* 上的重要二元运算。对于 Σ* 中的两个字符串 s 和 t,它们的串接被定义为在 s 中的字符序列之后跟随着 t 中的字符序列,并被指示为 st。例如,Σ = {a, b, …, z},并且 s = bear 且 t = hug,则 st = bearhug 而 ts = hugbear。
字符串串接是结合性的,但非交换性运算。空串充当单位;对于任何字符串 s,有 εs = sε = s。所以,集合 Σ* 和串接运算形成了幺半群,就是从 Σ 生成的自由幺半群。此外,长度函数定义从 Σ* 到非负整数的幺半群同态。
以上内容参考:百度百科-字符串。
在C语言中比较字符串大小,可以使用库函数strcmp,也可以自己编写比较函数。
1、使用库函数。
需要包含头文件string.h。声明为:
int strcmp(const char *s1, const char *s2);。
会根据字典序比较s1和s2, 如果二者相等,则返回0;如果s1较小则返回-1;如果s1较大则返回1。
比如
strcmp("123", "123") 结果为0。
strcmp("123", "456") 结果为-1。
strcmp("456", "123") 结果为1。
2、自定义函数。
实现字符串比较的方法有很多,其基本原理为按字节比较。
举例如下:
int my_strcmp(char *s1, char *s2)。
int i;
for(i = 0; s1[i] == s2[i] && s1[i]!=0; i++);//循环比较,达到结束或者出现不相等值时退出循环。 。
if(s1[i] == s2[i]) return 0;//代表全部相等,返回0。
if(s1[i]<s2[i]) return -1;//s1较小,返回-1。
return 1;//s1较大,返回1.。
比较规则:字符串比较函数strcmp的比较,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。
描述:C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。
声明: int strcmp(const char *str1, const char *str2) 是 strcmp() 函数的声明。
参数:str1 -- 要进行比较的第一个字符串。str2 -- 要进行比较的第二个字符串。
扩展资料:
相关使用说明:
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。如:"A"<"B" 2."A"<"AB" 3."Apple"<"Banana" 4."A"<"a" 5."compare"<"computer"。
ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。
参考资料来源:百度百科-strcmp。
C++中两个字符串的大小比较方法如下:
1、首先,定义一个整型变量j,保存判断的结果。
2、接着,定义两个字符串变量,保存判断的字符串。
3、输入两个字符串,保存在变量s1和s2中。
4、比较字符串s1和s2的大小,保存在变量j中。
5、根据判断结果j的值,输出两个字符串的比较结果。
6、用compare函数比较两个字符串,当s1大于s2时返回值大于0,当s1等于s2时返回值等于0,当s1小于s2时返回值小于0。
原文地址:http://www.qianchusai.com/%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%AF%94%E8%BE%83%E6%96%B9%E6%B3%95.html