char CharType[6]; // 定义一个 char 类型的数组。
strcpy(CharType,"0.001"); // 将字符串 “0.001” 赋值给 CharType 数组。
itoa(i_value_flag, CharType); // 将int型变量,转换成字符串,然后赋值给CharType数组。
当我把int型变量转换成字符串的时候,我发现字符串显示顺序反了。比如 i_value_flag 等于123456,在界面上
显示出来就成了654321,(当然strcpy(CharType,"123456")是可以显示123456的)。
所有我又写了一段颠倒顺序的功能。
j = 0;
i = 0;
while(j==0){
if(CharType[i]==0){
j = 1;
}else {
i++;
}
if(i>5)j=1;
}// 这里先统计一下有效字符是多少个 ,如果有效字符是4个,存储的效果是‘4’‘3’‘2’‘1’‘\0’'\0',因为‘\0’不用颠倒顺序,所以统计到的4个有效数存到 i 变量里边。
i--;
j=0;
while(j==0){
if( CharType[i]=='0' && i>0){
CharType[i]='\0';
i--;
} else j=1;
}//清掉多余的0,如果挨着‘\0’字符,有‘0’的存在,就把这个'0'改为'\0'。因为我主要显示数字
k = i/2; //如果 i 等于奇数,比如 i 等于5,正好 k 等于2。也就是第三位不用对换。
l = i;
for(i=0;i<k;i++){
c_value_flag = CharType[l-i];
CharType[l-i] = CharType[i];
CharType[i] = c_value_flag;
}//调到有效字符的顺序,比如1和5对换,2和4对换,3不变。