文档库 最新最全的文档下载
当前位置:文档库 › 字符型数据转成整数型

字符型数据转成整数型

字符型数据转成整数型
字符型数据转成整数型

“字符型减'0'可以得到整数型”的原因分析

2009-11-28 12:20

我们如果对c语言里数据是如何存储的不清楚的话,就会导致我们对程序的理解越来越困难。说白了c语言就是人与机器交流的一种规则,而机器和芯片能明白的只能是0和1这两种高低电平。他们什么也不懂。只是一堆模拟电子和数字电路板集合。那人们怎么会操作这些破玩意儿呢?刚开始人们真的是010101的通过打孔来操作的。后来,人们学聪明了有了汇编又有了c语言、c++、java等等工具。其实每一个语言体系只是一些操作机器的规则而已。你遵守了这个规则就会成为编程高手。

拿c的字符型来说吧,为什么c要分字符型、int型?原因很简单,就是为了更方便的管理数据存储。事实上不管字符还是数据在计算机中都只能用01来表示,那我们怎么能区别他们的不同呢。就用多位的01来表示,一个不够用两个,我们知道用7个01就可以有128个数字被表示,也就是说用几个01

就可以表示2的几次方个数字。于是人们提出了ASCII 码(查了百度百科,这样说:在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,象a、b、c、d这样的52个字母(包括大写)、以及0、1、2等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了所谓的ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。

计算机中的字符包括数值、英文字母、标点符号、制表符号及其他符号。每一个字符都用一个特定的二进制代码来表示,这就是字符的编码。目前,字符编码采用的是美国信息交换标准代码,即ASCII 码。它是用一个字节的低七位来表示一个字符的编码, 2^7 =128 ,最高位是 0 ,所以,用 ASCII 码可表示128 个字符)。有了这个我们就不怕我们输入的字符,计算机不懂了。于是只要我们自己在程序中输入一个字符(例如:‘a’)计算机在编译过程中自动将它转换成97的二进制码,这就是为什么说字符本质上也是整型了,因为字符变量只是告诉计算机,我这个数据只占一个字节,也就是说我超不出128这个数去。而int则告诉我这个数可能很大,有65534那么大呢。

下面就说说为什么字符减'0'可以到相应的整数。现在比如我们要字符

‘1’转换成数字1,就这么一个变化,我们看到了大家注意了字符型常量用''括起来的原因是,它们在计算机中都以各自的ASCII表示。而‘1’的对应编码是49的二进制码,但是我们的数字1,就等于1呀,所以为了由原来的‘1’实际上就是49的二进制变成现在的1对应的二进制1,只好用49-48=1了。但是在ASCII码里‘0’对应的刚好是48的二进制码,所以我们转换的时候只需要‘1’-‘0’=1;就可以了。而数字的ASCII码是按顺序规定的。所以其它字符要转换成数字都可以用减‘0’来表示。比如‘2’的ASCII是50,而我们要得到数字2,于是用‘2’-48=2了。看来当我们知道数据在计算机中的存储规则的时候,问题就迎刃而解了。

大小写字母的转换:先看ASCII码:a~z是97~122的二进制,而A~Z是65~90的二进制编码,于是我们就得出:大写字母=小写字母-32 ;这个公式了。当然这里的32我也可以这么写‘Z’=‘z’-'空格'。因为空格的ASCII码是32对应的二进制编码。

整形和字符转换

整型和字符串相互转换 itoa 功能:把一整数转换为字符串 用法:char *itoa(int value, char *string, int radix); 详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写. 参数: value: 待转化的整数。 radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。 * string: 保存转换后得到的字符串。 返回值: char * : 指向生成的字符串,同*string。 备注:该函数的头文件是"stdlib.h" 程序例: #include #include int main() { int number = 123456; char string[25]; itoa(number, string, 10); printf("integer = %d string = %s\n", number, string); return 0; } 注释:编译系统:VC++6.0,TC不支持。 atoi

C语言库函数名: atoi 功能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 函数说明: atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符\0 时停止转换,返回整型数。 原型: int atoi(const char *nptr); 需要用到的头文件: #include 程序例: 1) #include #include int main() { int n; char *str = "12345.67"; n = atoi(str); printf("string = %s integer = %d\n", str, n); return 0; } 执行结果 string = 12345.67 integer = 12345 2) #include #include int main() { char a[] = "-100" ; char b[] = "123" ; int c ;

有用的字段类型和数据类型

有用的字段类型和数据类型 在vfp中,共有13种字段类型和7种数据类型.13种字段类型是:字符型,数值型,浮点型,双精度型,整型,货币型,日期型,日期时间型,逻辑型,备注型,通用型,二进制字符型和二进制备注型;而7种数据类型是:字符型,数值型,货币型,日期型,日期时间型,逻辑型和通用型.字段为表文件所特有,而数据既可做表文件中的字段内容,也可以做内存变量或常量使用. 1.字符型字段和字符型数据: 字符型字段用于存放字符型数据.字符型数据是指一切可印刷的字符,包括英文字母,阿拉伯数字,各种符号,汉字及空格. 上述"职工档案"表中的"编号"和"姓名"字段就属于字符型字段,而其中存储的编号和姓名就属于字符型数据.字符型字段的宽度为1~字节. 2.数值型,浮点型,双精度型,整型字段与数值型数据: 数值型字段按每位数1个字节存放数值型数据,而浮点型字段存放浮点型数据.这两者最大宽度为20位.整型字段存放整数,用该类型字段存放较大的整数可节省存储容量,因为它只占4个字节.双精度型字段用于存放双精度型数,常用于科学计算,可得15位精度,但只占8个字节.这些字段中存放在数据统称为数值型数据. 3.货币型字段和货币型数据:货币型字段用于存放货币型数据,但只占8个字节. 4.日期型字段和日期型数据:日期型字段用于存放日期型数据.常用格式为:"年.月.日"和"月/日/年".在"职工档案"表中,"出生日期"字段就是日期型字段,而其中存放的数据就是日期型数据. 5.日期时间型字段和日期时间型数据:日期时间型字段存放日期时间型数据,格式为:年.月.日小时:分:秒Am或pm. 6.逻辑型字段和逻辑型数据:逻辑型字段用于存放逻辑型数据.逻辑型数据只有两个值,即"真"和"假",常用于描述只有两种状态的数据.例如:在"职工档案"表中,"婚否"字段就是逻辑型字段,用"真"表示已婚,"假"值表示未婚.在输入逻辑型数据时,可用T,t,Y,y中的任一个代表"真",而用F,f,N,n中的任一个代表"假". 7.备注型字段:备注型字段用于存放字符型,如文本、源代码等,使其得到了广泛应用.它常用于记录可有可无、可长可短的情况.例如,假如要在"职工档案"表中增加一个"简历"字段,定义成备注型最合适,因为有些人的简历可能长些,有些人的简历可能短些.此外,备注型字段还可用于提供运行时的帮助. 记录在备注型字段中的,实际上并不存放在表文件中,而是存放在与表文件同名,但扩展名为.fpt的文件中.当创建表文件时,假如定义了备注型字段,则相应的备注文件会自动生成,会随表文件的打开而自动打开.

第二章VFP的数据表达式一、数据类型1.字符型字符型(Character,C

第二章 VFP的数据表达式 一、数据类型 1.字符型 字符型(Character,C型)通常用于储存文本信息,由字母、汉字、空格、数字、符号和标点等字符组成,宽度不能超过254字节。若超过254字节,则请改用备注型。例如:“abc”,“计算机”,“123”,“ID18”等。 2.货币型 货币型(Currency,Y型)这种类型是专为货币数据设计的数据类型,表示方法是在数字前加一个$符号。最多只能保留到小数点后4位,超过四位则会自动四舍五入:少于四位则会自动补零。占8个字节的空间。 例如:money=$980.45678。 3.数值型 数值型(Numeric,N型)用于表示数量,由数字0~9、+或-,以及小数点组成。数值型数据占8个字节,长度为1~20个字节。 VFP中文版采用十进制和十六进制两种格式。例如:98.66,0xff(前面加0x表示十六进制)。数值型数据可采用科学计数法,如“3E2”代表“3×102”,“10e-2”代表“10×10-2”。 4.整型 整型(Integer,I型)用于存储不含小数部分的数值。是一种较小的数据类型,整数型占有内存空间4个字节。 5.浮点型 浮点型(Float,F型)等价于数值型类型。VFP出于兼容性的考虑设置了这个数据类型。 6.日期型日期型(Date,D型)用于存储日期数据。由年、月、日三部分组成,存储格式为“YYYYMMDD”。表示范围为{^0001/01/01}到{^9999/12/31},即公元0001年1月1日到公元9999年12月31日。其中“^”符号表示此日期格式严格遵循YMD(year,month,day)的格式,使用日期型数据时应用大括号{}括起来。日期型数据存储长度为8个字节。例如:mydate={^2006/10/12}表示日期是2006年10月12日,而不是2006年12月10日。 7.时间日期型 时间日期型(Date Time,T型)用于记录日期时间的数据。由日期数据加具体时间构成,存储格式为“YYYYMMDDHHMMSS”。其中时间部分的取值为:00:00:00a到11:59:59p之间。例如:mydatetime={^2006/12/14 10:30:05p} 。 8.双精度型 双精度型(Double,B型)常用来记录高精度的数据。 9.逻辑型

sql中将数字转换为字符串—STR()

sql 中将数字转换为字符串的最简单方法 2010年01月22日星期五下午08:04 STR 由数字数据转换来的字符数据。 语法 STR (float_expression[ ,length[ ,decimal] ] ) 参数 float_expression 是带小数点的近似数字(float) 数据类型的表达式。 length 是总长度,包括小数点、符号、数字或空格。默认值为10。 decimal 是小数点右边的位数。 返回类型 char 注释 如果为STR 提供length和decimal参数值,则这些值应该是正数。在默认情况下或者小数参数为0 时,数字四舍五入为整数。指定长度应该大于或等于小数点前面的数字加上数字符号(若有)的长度。短的float_expression在指定长度内右对齐,长的float_expression则截断为指定的小数位数。例如,STR(12,10) 输出的结果是12,在结果集内右对齐。而STR(1223, 2) 则将结果集截断为**。可以嵌套字符串函数。 说明若要转换为Unicode 数据,请在CONVERT 或CAST 转换函数内使用STR。示例 A. 使用STR 下例将包含五个数字和一个小数点的表达式转换为有六个位置的字符串。数字的小数部分四

舍五入为一个小数位。 SELECT STR(123.45, 6, 1) GO 下面是结果集: ------ 123.5 (1 row(s) affected) 当表达式超出指定长度时,字符串为指定长度返回**。 SELECT STR(123.45, 2, 2) GO 下面是结果集: -- ** (1 row(s) affected) 即使数字数据嵌套在STR内,结果集也是带指定格式的字符数据。SELECT STR (FLOOR (123.45), 8, 3) GO 下面是结果集: -------- 123.000 (1 row(s) affected) B. 使用STR 和CONVERT 函数

js 字符串转换数字

js 字符串转换数字 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这 两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。一些示例如下: parseInt("1234blue"); //returns 1234 parseInt("0xA"); //returns 10 parseInt("22.5"); //returns 22 parseInt("blue"); //returns NaN parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数 指定的,示例如下: parseInt("AF", 16); //returns 175 parseInt("10", 2); //returns 2 parseInt("10", 8); //returns 8 parseInt("10", 10); //returns 10 如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地

得到八进制的值。例如: parseInt("010"); //returns 8 parseInt("010", 8); //returns 8 parseInt("010", 10); //returns 10 parseFloat()方法与parseInt()方法的处理方式相似。 使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。 下面是使用parseFloat()方法的示例: parseFloat("1234blue"); //returns 1234.0 parseFloat("0xA"); //returns NaN parseFloat("22.5"); //returns 22.5 parseFloat("22.34.5"); //returns 22.34 parseFloat("0908"); //returns 908 parseFloat("blue"); //returns NaN 2. 强制类型转换 还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。ECMAScript中可用的3种强制类型转换如下: Boolean(value)——把给定的值转换成Boolean型; Number(value)——把给定的值转换成数字(可以是整数或浮点数);String(value)——把给定的值转换成字符串。

数字字符和整型之间的转换

itoa 功能:把一整数转换为字符串 用法:char *itoa(int value, char *string, int radix); 详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写. 参数: value: 待转化的整数。 radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。 * string: 保存转换后得到的字符串。 返回值: char * : 指向生成的字符串,同*string。 备注:该函数的头文件是"stdlib.h" 程序例: #include #include int main() { int number = 123456; char string[25]; itoa(number, string, 10); printf("integer = %d string = %s\n", number, string);

return 0; } 注释:编译系统:VC++6.0,TC不支持。 atoi C语言库函数名: atoi 功能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 函数说明: atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符\0 时停止转换,返回整型数。 原型: int atoi(const char *nptr); 需要用到的头文件: #include 程序例: 1) #include #include int main() { int n; char *str = "12345.67"; n = atoi(str); printf("string = %s integer = %d\n", str, n); return 0; } 执行结果 string = 12345.67 integer = 12345

C语言字符串与整数转换的函数

C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转换为字符串的一个例子: # include # include void main (void); void main (void) { int num = 100; char str[25]; itoa(num, str, 10); printf("The number 'num' is %d and the string 'str' is %s. \n" , num, str); } itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数。在上例中,转换基数为10。 下列函数可以将整数转换为字符串: ---------------------------------------------------------- 函数名作用 ---------------------------------------------------------- itoa() 将整型值转换为字符串 itoa() 将长整型值转换为字符串 ultoa() 将无符号长整型值转换为字符串 ---------------------------------------------------------- 请注意,上述函数与ANSI标准是不兼容的。能将整数转换为字符串而且与ANSI标准兼容的方 法是使用sprintf()函数,请看下例:

#include # include void main (void); void main (void) { int num = 100; char str[25]; sprintf(str, " %d" , num); printf ("The number 'num' is %d and the string 'str' is %s. \n" , num, str); } 在将浮点型数字转换为字符串时,需要使用另外一组函数。以下是用fcvt()函数将浮点型值转换为字符串的一个例子: # include # include void main (void); void main (void) { double num = 12345.678; char * sir; int dec_pl, sign, ndigits = 3; /* Keep 3 digits of precision. * / str = fcvt(num, ndigits, &dec-pl, &sign); /* Convert the float to a string. * / printf("Original number; %f\n" , num) ; /* Print the original floating-point

字符型数据

第四节字符型数据 知识点:字符型常量;字符型变量;转义字符; 重要程度:★★★★★(字符可当作整型使用) 1、字符常量字符常量是由一对单引号括起来的。 1)由一对单引号括起来的单个字符: 单引号中只有一个字符:'0'、'A'、'a'、' '、'#'。 2)由一对单引号括起来的,里面是由斜杠“\”引起的若干字符: 在单引号中,都由“\”开头:'\n '、'\t '、'\\'、'\''、'\"'、'\0 '、'\377 '、'\xff '。这个“\”称为转义字符。转义字符后面的内容失去了原来的意义,如'\n'表示换行符,而不是字母n了。 每个字符都有一个ASCII码与之对应。(字符可以看成整形) 如字符'0'的ASCII码值为48,我们简称字符'0'的值为48。同样,'A'的值为65,'a'的值为97。 字符型数据进行运算,使用的其实都是这个字符对应的ASCII码值。 C语言中一共有三种转义字符:一般转义字符、八进制转义字符、十六进制转义字符。 表3 C语言中常用的转义字符 字符形式意义字符形式意义\n 换行\\ 一个反斜杠字符\ \t 横向跳格(Tab)\' 一个单引号' \v 竖向跳格\" 一个双引号" \b 退格符(backspace)\ooo 1~3位八进制数代表的字符\r 回车符\xhh 1~2位十六进制数代表的字符\f 换页符\0 空值 (1)一般转义字符 '\n'、'\\'、'\"'等,由一个“\”开头加一个普通字符组成。请牢记表3中粗体的转义字符。 (2)八进制转义字符 它是由“\”与其后的1~3位八进制数字构成的字符序列。 反斜杠后面的十六进制数不需要以0开头。’\061’就错了 '\61'首先把61这个八进制化成十进制,得到49,ASCII为49的字符就是’1’。. '\101'首先把101这个八进制化成十进制,得到65,ASCII为65的字符就是’A’。. (3)十六进制转义字符 它是由“\x”与其后的1~2位十六进制数字构成的字符序列。 反斜杠后面的十六进制数不需要以0x开头。’\0x77’错了! 但是反斜杠之后的必须是小写字母x,而不能是大写字母X,也不能是其它形式。’\0X77’错了! '\x42'表示字符常量'B' '\x6e'分别表示字符常量和'n'。

第六章 复合数据类型

第六章复合数据类型 6.1变量和赋值的进一步讨论 一个变量是由四个要素组成的:一个名字、一个属性、一个关联和一个值。名字指命名变量的标识符;属性指变量可以存放那种类型的值;关联指存放变量的内存位置;值指该内存位置当前时刻存放的数据。 应该认识到这里的值是可能改变的,但任何时候在盒子里总有一个值(我们将无定义的随机值也当做一个特殊的值)。 根据变量在赋值运算中的使用方式,将变量的关联部分称为左值,变量的值部分称为右值。对于表达式而言,求值结果也存在是否可作为左值使用的问题。一般情况下,表达式的求值结果作为右值使用,但如果一个表达式的求职结果不是void类型,并且指派了一个变量,则该表达式可作为左值。 ((i<0)?i:j)=1 .//合法的赋值运算 (i+j) =1 //不合法的赋值运算 6.2指针类型 变量以两种方式被使用:作为一个关联的名字和作为一个值的名字。 对变量的访问也有两种方式:直接访问和间接访问。 在C++中实现对变量的间接访问的方法是:先安排相关变量,专门用于存放变量地址。要间接访问时,先从这些变量获得待访问的变量的地址,然后再按所获得的地址去访问要访问的变量。 指针是存放其他变量地址的变量,所以从效果上看它们指向这些数据。指针使得数据不一定非得与某一特定变量名字相关联,指针可以指向一个没有名字的数据值。 6.2.1指针的声明 int age = 30; //声明一个存放年龄的整数类型变量 让C++编译程序知道有一个新的变量,该变量的名字是标识符age,编译程序会为它分配2个字节的存储空间(假如我们使用的机器上int用两个字节表示)并将30放在这些字节中,并且编译程序知道这些字节中存放的是整数类型数值而不是浮点类型或其他类型数据。 不直接访问age的存储空间地址,而是用age这个名字访问器其存储空间。 ptr常用作pointer的缩写 指针类型是在其他数据类型后加一个类型修饰符“*”,这个类型被称为指针的基类型。如int * age_ptr; 注意“*”仅用于修饰类型,而不是变量名字的一部分。 一个指针变量占用的存储空间大小取决于机器的内存寻址方式。 指针age_ptr的类型(int*)指明age_ptr仅能指向整数类型的值,而不能指向字符类型、浮点类型或其他类型的值,即age_ptr中存放的地址所指向的存储空间中只可存放整数类型的值。

Java求字符串中数字的和

Java求字符串中数字的和 输入一行字符串(少于80个字符),求其中数字的和。 输入数据包含一行字符串,中间存在多于两个数字。 在一行上输出字符串中数字的和,输出完后,不要回车换行。 输入数据样例: 12a3b@2p 输出数据样例: 1+2+3+2=8 package numbers; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class QSum { private static List store = new ArrayList(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Please enter the String,the length <= 80"); String in = sc.next(); if(in.length()>80){ System.out.println("input error"); return; } int sum = 0; int mak = 0; int num = 0; String out=""; for(int i=0;i

String get = in.substring(i, i+1); try{ num=Integer.parseInt(get); sum+=num; out+=num+"+"; mak++; }catch(NumberFormatException e){ continue; } } if(mak>1){ System.out.println(out.substring(0,out.length()-1)+"="+sum); }else{ System.out.println("not enough number"); }

数据库第六章习题综合要点

第六章结构化程序设计 一、选择题 1、WAIT命令用于让用户输入一个。 A)数字 B)字符 C)字符串 D)以上都是 2、在交互式输入命令中,可以接受逻辑型数据的命令包括______。 A)INPUT和ACCEPT B)WAIT和INPUT C)INPUT和@…GET D)INPUT和@…SAY 3、执行命令 ACCEPT″请输入数据:″TO XYZ 时,可以通过键盘输入的内容包括______。 A)字符串 B)数值和字符串 C)数值,字符串和逻辑值 D)数值,字符串,逻辑值和表达式 4、执行命令INPUT″请输入数据:″TO AAA时,如果要通过键盘输入字符串,应当使用的定 界符包括______。 A)单引号 B)单引号或双引号 C)单引号、双引号或方括弧 D)单引号、双引号、方括弧或圆点 5、在VFP中,可以通过键盘接受数值的命令有_______。 A)ACCEPT B)ACCEPT和WAIT C)INPUT和ACCEPT D)INPUT和 @ 5,10 SAY...GET.. 6、比较WAIT、ACCEPT和INPUT三条命令,需要以回车键表示输入结束的命令是_____。 A)WAIT、ACCEPT、INPUT B)WAIT、ACCEPT C)ACCEPT、INPUT D)INPUT、WAIT 7、以下关于ACCEPT命令的说明,正确的是______。 A)将输入作为字符接收 B)将输入作为数值接收 C)将输入作为逻辑型数据接收 D)将输入作为备注型接收 8、结构化程序设计所规定的三种基本控制结构是_______。 A)输入,处理,输出 B)树型,网型,环型 C)顺序,选择,循环 D)主程序,子程序,函数 9、能将高级语言编写的源程序转换成目标程序的是_______。 A)编程程序 B)编译程序 C)解释程序 D)链接程序 10、VFP中的DO CASE-ENDCASE语句属于_______。 A)顺序结构 B)选择结构 C)循环结构 D)模块结构 11、当前数据库中有五个字段:学号(C,4)、姓名(C,6)、政治(N,3.0)、英语(N,3.0)、数 学(N,3.0),记录指针指向一个非空的记录。要使用SCATTER TO X命令把当前记录的字段值存到数组X中,数组X ______。 A)不必事先定义 B)必须用DIMENSION X 事先定义 C)必须用DIMENSION X(5)事先定义 D)必须用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义 12、要判断数值型变量Y是否能够被7整除,错误的条件表达式为______。 A)MOD(Y,7)=0 B)INT(Y/7)=Y/7 C)0=MOD(Y,7) D)INT(Y/7)=MOD(Y, 7) 13、在VFP中,命令文件的扩展名是______。

JAVA的整型与字符串相互转换

JAVA的整型与字符串相互转换JAVA的整型与字符串相互转换 1如何将字串String 转换成整数int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成Double, Float, Long 的方法大同小异. 2 如何将整数int 转换成字串String ? 有叁种方法: 1.) String s = String.valueOf(i); 2.) String s = Integer.toString(i); 3.) String s = "" + i; 注: Double, Float, Long 转成字串的方法大同小异.

这是一个例子,说的是JAVA中数据数型的转换.供大家学习引import java.sql.Date; public class TypeChange { public TypeChange() { } //将String型转换为Int型 public static int stringTolnt(String intstr) { Integer integer; integer = Integer.valueOf(intstr); return integer.intValue(); } //将Int型转换为String型 public static String intToString(int value) { Integer integer = new Integer(value); return integer.toString(); } //将String型转换为float型 public static float stringToFloat(String floatstr) { Float floatee; floatee = Float.valueOf(floatstr); return floatee.floatValue(); } //将float型转换为String型 public static String floatToString(float value) { Float floatee = new Float(value); return floatee.toString(); } //将String型转换为sqlDate型 public static java.sql.Date stringToDate(String dateStr) { return java.sql.Date.valueOf(dateStr); }

字符型数据的表示

字符型数据的表示 字符型数据是用单引号括起来的一个字符。例如: 'a'、'b'、'='、'+'、'?' 都是合法字符型数据。 在C语言中,字符型数据有以下特点: ?字符型数据只能用单引号括起来,不能用双引号或其它括号。 ?字符型数据只能是单个字符,不能是字符串。 ?字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。 如'5'和5 是不同的。'5'是字符型数据,不能参与运算。 转义字符 转义字符是一种特殊的字符。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各示例中printf 函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。 常用的转义字符及其含义 转义字符转义字符的意义ASCII代码 \n 回车换行10 \t 横向跳到下一制表位置9

\b 退格8 \r 回车13 \f 走纸换页12 \\ 反斜线符"\" 92 \' 单引号符39 \”双引号符34 \a 鸣铃7 \ddd 1~3位八进制数所代表的字符 \xhh 1~2位十六进制数所代表的字符 广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表中的\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字母"A" ,\102表示字母"B",\134表示反斜线,\XOA表示换行等。 【例3-8】转义字符的使用。 1.#include 2.int main(void){ 3.int a,b,c; 4.a=5; b=6; c=7; 5.printf(" ab c\tde\rf\n"); 6.printf("hijk\tL\bM\n"); 7.return0;

字符串转换成整数

C语言实现把字符串转换成整数 @函数名称: atol 函数原型: long atol(char *str) 函数功能: 将字符串转换成一个长整数 函数返回: 转换后的数值 参数说明: str-待转换为长整型的字符串 所属文件: #include #include int main() { long l; char *str ="98765432"; l=atol(lstr); printf("string=%s integer=%ld",str,l); return(0); } 把字符串转换成整数收藏 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。 首先我们分析如何完成基本功能,即如何把表示整数的字符串正确地转换成整数。还是以"345"作为例子。当我们扫描到字符串的第一个字符'3'时,我们不知道后面还有多少位,仅仅知道这是第一位,因此此时得到的数字是3。当扫描到第二个数字'4'时,此时我们已经知道前面已经一个3了,再在后面加上一个数字4,那前面的3相当于30,因此得到的数字是3*10+4=34。接着我们又扫描到字符'5',我们已经知道了'5'的前面已经有了34,由于后面要加上一个5,前面的34就相当于340了,因此得到的数字就是34*10+5=345。 分析到这里,我们不能得出一个转换的思路:每扫描到一个字符,我们把在之前得到的数字乘以10再加上当前字符表示的数字。这个思路用循环不难实现。 由于整数可能不仅仅只含有数字,还有可能以'+'或者'-'开头,表示整数的正负。因此我们需要把这个字符串的第一个字符做特殊处理。如果第一个字符是'+'号,则不需要做任何操作;如果第一个字符是'-'号,则表明这个整数是个负数,在最后的时候我们要把得到的数值变成负数。 接着我们试着处理非法输入。由于输入的是指针,在使用指针之前,我们要做的第一件是判断这个指针是不是为空。如果试着去访问空指针,将不可避免地导致程序崩溃。另外,输入的字符串中可能含有不是数字的字符。每当碰到这些非法的字符,我们就没有必要再继续转换。最后一个需要考虑的问题是溢出问题。由于输入的数字是以字符串的形式输入,因此有可能输入一个很大的数字转换之后会超过能够表示的最大的整数而溢出。 现在已经分析的差不多了,开始考虑编写代码。首先我们考虑如何声明这个函数。由于是把字符串转换成整数,很自然我们想到: int StrToInt(const char* str);

java中如何将字符变成整数

?
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成 Integer ? Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ? 1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i;
如何将整数 int 转换成 Integer ? Integer integer=new Integer(i);
如何将 Integer 转换成字串 String ? Integer integer=String
如何将 Integer 转换成 int ? int num=Integer.intValue();
如何将 String 转换成 BigDecimal ? BigDecimal d_id = new BigDecimal(str);

如何将 如何将 String 转换成 char ? char[] ca="123".toCharArray();
如何将 char 转换成 String? String s=ca.toString(); 类型 //任何类型都可以采用 toString()转换成 String
//-----------------日期-------------------------
Calendar calendar=Calendar.getInstance(); int year=calendar.get(Calendar.YEAR); int month=calendar.get(Calendar.MONTH)+1; int day=calendar.get(Calendar.DATE);
获取今天的日期字符串 String today=java.text.DateFormat.getDateInstance().format(new java.util.Date()); 获取今天的日期 new java.sql.Date(System.currentTimeMillis())

stata学习资料-第六章

6.1 问题:假如我们有一个截面数据,内容是一些病人在一些诊所就诊的记录,比如病人信息和诊所ID。我们还有一个表,内容是每个诊所对应的地区编号。我们怎么把表二中的地区编号和表一中的每个诊所联系起来,或者说如何将两张表整合到一起? 比较二的方法:用if条件筛选,逐个代换。P118有介绍 核心知识点:merge命令的使用主键一对多情况下的数据整合 其中作为主键的clinicid 在表一中并不是唯一确定的观测值不能简单的1:1匹配合并这时就需要用到1:m或m:1 use 表一 merge m:1 主键using 表二 (此处为m:1是因为表一中clinicid有重复) 结果为: 备注:关于新版和旧版命令的区别:一是语法区别,旧版是merge 主键using 表二, uniqusing. 其中uniqusing是用来确定唯一观测值的,新版省掉了。二是新版不用先对主键排序才能合并,而旧版命令必须排序。 m:m即表一和表二中主键clinicid都不唯一。语法为 merge m:m 主键using 表二 6.2 问题:很多数据源提供的数据适用于展示但不适用于分析处理,如何将其转换成我们所需要的形式 核心知识点: reshape命令的使用 reshape 命令是stata提供的重要的数据管理工具之一。如果我们想要调整你现有数据的结构,就要熟悉reshape的两个功能:一是变宽,一是变长。具体讲,可能是把某种数据变成时序数据、或者是把时序数据变成某种数据。有时候问题比较麻烦,我们需要对数据进行两次reshape,才能调整到我们想要的结果。 举例:将表一变成表二形式

表一有四个变量,分别是country,tradeflow, Yr1990, Yr1991.其中tradeflow是作为一个变量主体,分为imports和exports,而1990和1991的贸易流是作为两个并列的变量主体。我们要把它转成面板数据,分两步。第一是Yr1990和Yr1991改成时间序列,tradeflow暂时不变。执行第一步的指令后效果如下 其他变量没变的前提下,生成了一个新变量_j ,代表年份。 reshape long Yr,i(country tradeflow)这个命令。也可写成 reshape long Yr,i(country tradeflow) j(year) 执行结果一样,而且这样写更好理解。 Yr表示需要转换变量的前缀。在这个例子中,一个国家的贸易流由两个维度限定,比如第一个数据105:一是它代表A国的进口,二是年份为1990。我们引入两个变量i和j。i 代表country tradeflow、j代表year。i(varlist)表示长格式识别变量,长格式标示变量可以为多个,故可以设置多个变量.如本例. j(varname)为从宽格式转换为长格式的新生成的标识变量。执行上述指令时,stata会自动将Yr1990拆分、并把数值部分1990赋值给新的时间变量j。所以,Yr1990和Yr1991的命名要保持一致,如果这两个变量的命名分别是year1990和Yr1991,则无法正常拆分。 补充: 用的是reshape long math economy, i(sno) j(year) 第二步是,我们再把表变宽:把tradeflow中的imports和exports变成两个并列的变量主体。执行第二步的指令后,效果如下:

字符型数据转成整数型

“字符型减'0'可以得到整数型”的原因分析 2009-11-28 12:20 我们如果对c语言里数据是如何存储的不清楚的话,就会导致我们对程序的理解越来越困难。说白了c语言就是人与机器交流的一种规则,而机器和芯片能明白的只能是0和1这两种高低电平。他们什么也不懂。只是一堆模拟电子和数字电路板集合。那人们怎么会操作这些破玩意儿呢?刚开始人们真的是010101的通过打孔来操作的。后来,人们学聪明了有了汇编又有了c语言、c++、java等等工具。其实每一个语言体系只是一些操作机器的规则而已。你遵守了这个规则就会成为编程高手。 拿c的字符型来说吧,为什么c要分字符型、int型?原因很简单,就是为了更方便的管理数据存储。事实上不管字符还是数据在计算机中都只能用01来表示,那我们怎么能区别他们的不同呢。就用多位的01来表示,一个不够用两个,我们知道用7个01就可以有128个数字被表示,也就是说用几个01 就可以表示2的几次方个数字。于是人们提出了ASCII 码(查了百度百科,这样说:在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,象a、b、c、d这样的52个字母(包括大写)、以及0、1、2等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了所谓的ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。 计算机中的字符包括数值、英文字母、标点符号、制表符号及其他符号。每一个字符都用一个特定的二进制代码来表示,这就是字符的编码。目前,字符编码采用的是美国信息交换标准代码,即ASCII 码。它是用一个字节的低七位来表示一个字符的编码, 2^7 =128 ,最高位是 0 ,所以,用 ASCII 码可表示128 个字符)。有了这个我们就不怕我们输入的字符,计算机不懂了。于是只要我们自己在程序中输入一个字符(例如:‘a’)计算机在编译过程中自动将它转换成97的二进制码,这就是为什么说字符本质上也是整型了,因为字符变量只是告诉计算机,我这个数据只占一个字节,也就是说我超不出128这个数去。而int则告诉我这个数可能很大,有65534那么大呢。 下面就说说为什么字符减'0'可以到相应的整数。现在比如我们要字符 ‘1’转换成数字1,就这么一个变化,我们看到了大家注意了字符型常量用''括起来的原因是,它们在计算机中都以各自的ASCII表示。而‘1’的对应编码是49的二进制码,但是我们的数字1,就等于1呀,所以为了由原来的‘1’实际上就是49的二进制变成现在的1对应的二进制1,只好用49-48=1了。但是在ASCII码里‘0’对应的刚好是48的二进制码,所以我们转换的时候只需要‘1’-‘0’=1;就可以了。而数字的ASCII码是按顺序规定的。所以其它字符要转换成数字都可以用减‘0’来表示。比如‘2’的ASCII是50,而我们要得到数字2,于是用‘2’-48=2了。看来当我们知道数据在计算机中的存储规则的时候,问题就迎刃而解了。

相关文档