linux字符转数字
A. linux 下 C++如何将string 转为 int
用atoi函数,例如:
string str = "asdfasdgsg";
int i = atoi(str.c_str());
转换后,i结果为0
可以用man atoi查看相关库函数,如:
B. linux下c语言字符串转数字的问题
很好写啊~
char
c[]
=
"12.34";
double
d;
sscanf(c,"%lf",&d);
sscanf的作用是从给定字符串中按照某格式读数据
---
在我的编译器上你的程序没有问题
你按照我写的试试吧
#include
<stdio.h>
int
main(){
char
str[]
=
"12.34";
double
d;
sscanf(str,"%lf",&d);
printf("%lf",d);
return
0;
}
C. linux把时间类型值转换为数值型,怎么实现
字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.
1.取子串函数:
格式:substr(c,n1,n2)
功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型.
例:取姓名字符串中的姓.
store "王小风" to xm
?substr(xm,1,2)
结果为:王
2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型.
trim(字符串):删除字符串的尾部空格
alltrim(字符串):删除字符串的前后空格
ltrim(字符串):删除字符串的前面的空格
例:去掉第一个字符串的尾空格后与第二个字符串连接
store "abcd " to x
store "efg" to y
?trim(x)+y
abcdefg
3.空格函数:
格式:space(n)
说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).
例:定义一个变量dh,其初值为8个空格
store space(8) to dh
4.取左子串函数:
格式:left(c,n)
功能:取字符串C左边n个字符.
5.取右子串函数:
格式:right(c,n)
功能:取字符串c右边的n个字符
例:a="我是中国人"
?right(a,4)
国人
?left(a,2)
我
6.empty(c):用于测试字符串C是否为空格.
7.求子串位置函数:
格式:At(字符串1,字符串2)
功能:返回字符串1在字符串2的位置
例:?At("教授","副教授")
2
8.大小写转换函数:
格式:
lower(字符串)
upper(字符串)
功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写
例:
bl="FoxBASE"
?lower(bl)+space(2)+upper(bl)
foxbase FOXBASE
9.求字符串长度函数:
格式:len(字符串)
功能:求指定字符串的长度
例:a="中国人"
?len(a)
6
二.数学运算函数:
1.取整函数:
格式:int(数值)
功能:取指定数值的整数部分.
例:取整并显示结果
?int(25.69)
25
2.四舍五入函数:
格式:round(数值表达式,小数位数)
功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理
例:对下面给出的数四舍五入并显示其结果
?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3)
3.1416 2049 2000
3.求平方根函数:
格式:sqrt(数值)
功能:求指定数值的算术平方根
例:?sqrt(100)
10
4.最大值、最小值函数:
格式:
Max(数值表达式1,数值表达式2)
Min(数值表达式1,数值表达式2)
功能:返回两个数值表达式中的最大值和最小值
例:
x1=123.456
x2=234.567
?max(x1,x2)
234.567
?min(x1,x2)
123.456
5.求余数函数:
格式:mod(表达式1,表达式2)
功能:求表达式1对表达式2的余数
例:
?mod(10,3)
1
6.求指数、对数函数:
格式:
exp(数值表达式)
log(数值表达式)
功能:
(1).exp()计算自然数e为底,表达式的值为指数的幂
(2).log()计算表达式值的自然对数,返回lnx的值.
例:
x=1
y=exp(x)
?exp(x),log(x)
2.72 1
三.转换函数:
1.数值转数字字符串函数:
格式:str(n,n1,n2)
功能:将数值n转换为字符串,n1为总长度,n2为小数位
例:?str(321.56)
322 隐含四舍五入取整转换为字符型数据
?str(321.56,6,2)
321.56
2.字符转数值函数:
格式:val(s)
功能:将数字字符串s转换为数值
例:x="23"
y="76"
?val(x)+val(y)
100
3.字符转日期函数:
格式:ctod(c)
功能:将日期字符串c转换为日期
例:set date ansi 日期格式设为美国标准化协会格式
?ctod("^2005.11.14")
2005.11.14
4.日期转字符函数:
格式:dtoc(d)
功能:将日期d转化为日期字符串
例:将日期型数据转化为字符型日期数据并显示汉字日期.
set century on 开启世纪前缀,即日期中年份用4位表示
set date ansi
rq={^2005.11.14}
rq=dtoc(rq)
?substr(rq,1,4)+"年"+substr(rq,6,2)+"月"+substr(rq,9,2)+"日"
2005年11月14日
5.时间转字符函数:
格式:ttoc(时间)
功能:将时间转为时间字符串
6.字符转时间函数:
格式:ctot(c)
功能:将时间字符串转化为时间
7.字符串替换函数:
格式:stuff(字符表达式1,起始位置,字符个数,字符表达式2)
功能:从指定位置开始,用表达式2的值去替换表达式1中指定个数字符.若字符个数为零,直接插入;若表达式2为空字符串,则删除表达式1中指定个数的字符.
例:X="祝大家新年好!"
?stuff(X,7,4,"春节")
祝大家春节好
?stuff(X,11,0,"春节")
祝大家新年春节好
?stuff(x,7,4," ")
祝大家好
8.字符转ASCⅡ码函数:
格式:Asc(字符表达式)
功能:把字符表达式左边第一个字符转成相应的ASCⅡ码值
例:x="Foxpro"
?Asc(x),Asc(lower(x))
70 102
9.ASCⅡ码值转字符函数:
格式:chr(数值表达式)
功能:把数值转成相应的ASCⅡ码字符,返回值为字符型
例:?chr(70)+chr(111)+chr(111+9)
Fox
四.日期函数:
1.系统日期函数:
格式:date()
功能:给出系统的当前日期,返回值是日期型数据.
例:显示系统日期
?date()
11/14/05
set date ansi
set century on
?date()
2005.11.14
2.年、月、日函数:
格式:(1).year(日期表达式):从日期表达式中返回一个由四位数字表示的年份.
(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份.
(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数.
例:测试系统日期
rq=date()
?year(rq),month(rq),day(rq)
2005 11 14
3.系统时间函数:
格式:time()
功能:得到当前时间字符串
例:?time()
20:32:26
4.系统日期时间函数:
格式:datetime()
功能:得到当前日期时间
例:?datetime()
2005.11.14 08:35:12 PM
5.星期函数:
格式:dow(日期表达式)
cdow(日期表达式)
功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期
例:?date()
2005.11.15
?dow(date()),cdow(date())
3 Tuesday
五.测试函数:
1.测试文件尾函数:
格式:eof([n])
说明:
(1).n指定被测工作区号,其范围为1~32767
(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区.
例:测试文件记录指针是否指向文件尾
use 职工档案
go bottom
?eof()
.F.
skip
?eof()
.T.
2.测试文件头函数:
格式:bof([n])
说明:
(1).n指定被测工作区号,其范围为1~32767
(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区.
例:测试记录指针是否指向文件头
use 职工档案
go top
?bof()
.f.
skip -1
?bof()
.t.
3.测试当前记录号函数:
格式:recno()
功能:得到当前的记录号
例:
use 职工档案
?recno()
1
skip
?recno()
2
4.测试表文件记录数函数:
格式:reccount()
功能:得到表的记录数
例:测试"职工档案"表的记录数
use 职工档案
?reccount()
5
5.测试表字段数函数:
格式:fcount()
功能:得到当前的字段数
例:测试"职工档案"表共有多少个字段
use 职工档案
?fcount()
9
6.测试查找记录是否成功函数:
格式:found()
功能:测试find、seek和locate命令查找记录是否成功.如成功则返回真值,否则为假值.
例:在"职工档案"表中查找"小刚"的文化程度
use 职工档案
locate for 姓名="小刚"
?found()
.t.
display
7.文件测试函数:
格式:file(字符表达式)
功能:测试字符表达式指定的文件是否存在
例:?file("e:\myvfp\职工档案.dbf")
.t.
8.数据类型测试函数:
格式:type(字符表达式)
功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注)
例:
x=1236
y="hello"
?type("x")
N
?type("y")
C
9.测试工作区函数:
格式:select()
功能:返回当前工作区的区号
10.测试别名函数:
格式:alias()
功能:测试当前工作区的别名
例:
select 1
use 职工档案 alias zgda
select 2
use 工资情况
?alias()
工资情况 打开表时,不指定别名,表名即为别名
select zgda 通过别名选择工作区
?select()
1
11.表文件名函数:
格式:dbf()
功能:返回当前工作区打开的表名
例:
use 工资情况
?dbf()
e:\myvfp\工资情况
六.其它函数:
1.宏替换函数:
格式:变量名
说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串.
例:为"工资情况"表中每个人加100元工资
gz="工资"
use 工资情况
replace all gz with gz+100
2.条件函数:
格式:iif(表达式,表达式1,表达式2)
功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致
a=3
b=5
?iif(ab,"高兴","开心")
开心
3.消息框函数:
格式:messagebox(提示文本[,对话框类型[,对话框标题文本]])
功能:显示提示对话框
说明:
(1)对话框类型:
对话框类型 功能
0 仅"确定"按钮
1 "确定"和"取消"按钮
2 "终止","重试"和"忽略"按钮
3 "是","否"和"取消"按钮
4 "是"和"否"按钮
5 "重试"和"取消"按钮
16 stop图标
32 ?图标
48 !图标
64 i图标
0 默认第1个按钮
256 默认第2个按钮
512 默认第3个按钮
(2).返回值:
返回值 按钮
1 确定
2 取消
3 终止
4 重试
5 忽略
6 是
7 否
例:分析messagebox("您确实要退出系统吗?",4+64,"提示信息")会弹出什么样的窗口.
分析:回头观察此函数的格式,弹出的对话框中的提示文本是"您确实要退出系统吗",对话框标题是"提示信息",
函数中间有"4+64",其中4指定对话框中出现"是"和"否"两个按钮(见表1),64指定对话框中出现i图标(见表2)
ok,我们在命令窗口依次执行下列命令:
tui=messagebox("您确实要退出系统吗?",4+64,"提示信息")
变量tui用于接收messagebox函数的返回值,弹出的窗口如图1
?tui
变量tui值取决于运行时用户点了哪个按钮,如果点了"是",返回6,如果点了"否",返回7,见表2
说明:实际应用中,我们常在系统菜单或在表单的"退出"按钮中添加如下代码:
tui=messagebox("您确实要退出系统吗?",4+64,"提示信息")
if tui=6 如果此条件成立,说明用户点了"是"按钮,执行quit命令,安全退出
quit
endif
D. 求助:linux 字符串 转变成数字 并进行加减乘除运算
detaV=$(echo $V1 + $V2 | bc)
加减乘除模幂+ - * / % ^
E. linux下c中怎样将字符串转换为16进制数据
字符串是一个字符数组,一个个字符转换成16进制数据。可以这样,
printf("%x\n", 'ab')
运行结果: 6162
F. 在linux下的PostgreSQL中,如何修改字段的数据类型(用命令修改)
8.0版以上的时候:
alter table 你的表名 alter column 列名 type 你的新类型
8.0版以下的时候:
把要修改的表mp下来,在mp文件中直接修改,再重新导入道数据库中。
这个有些危险,如果数据类型不合的话,会出问题。比如由字符类型转数字类型。
G. Linux shell中如何把用户输入的一串数字(如电话号码)从字符串转换成数值使它可以进行计算
shell脚本对变量类型没有限制,你输入数字,phone就可以直接当数值型来用。
只是这里的判断表达式中不支持直接正则匹配,你要用grep, sed, awk这些支持正则的工具才行,然后用 $? 取得执行状态来判断是否匹配成功。
read -p "Phone Number (xxxxxxxx):" phone
echo "$phone" | egrep "^[0-9]{8}$" >/dev/null
if [ $? -eq 0 ]; then
echo ....
H. 在linux下编程如何使用字符串流将字符串类型转换成int型
int sprintf(char *STR, const char *FORMAT, ...);
或者直接int atoi(const char *S);
或者int _atoi_r(struct _reent *PTR, const char *S);
I. 如何在Linux系统实现字符编码转换
Linux 下查看文件字符编码和转换编码 如果你需要在 Linux 中操作 windows 下的文件,那么你可能会经常遇 到 文 件 编 码 转 换 的 问 题 。 Windows 中 默 认 的 文 件 格 式 是 GBK(gb2312),而 Linux 一般都是 UTF-8。下面介绍一下,在 Linux 中如何查看文件的编码及如何进行对文件进行编码转换。
一,查看文件编码: 在 Linux 中查看文件编码可以通过以下几种方式:
1.在 Vim 中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。 如果你只是想查看其它编码格式的文件或者想解决用 Vim 查看文件乱 码的问题,那么你可以在 ~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样, 就可以让 vim 自动识别文件编码 (可以自动识别 UTF-8或者 GBK 编码的文件) ,其实就是依照 fileencodings 提供的编码列表尝试,如 果没有找到合适的编码,就用 latin-1(ASCII)编码打开。
2. enca (如果你的系统中没有安装这个命令,可以用 sudo yum install -y enca 安装 )查看文件编码 $ enca filename filename: Universal transformation format 8 bits; UTF-8 CRLF line terminators 需要说明一点的是,enca 对某些 GBK 编码的文件识别的不是很好,识 别时会出现: Unrecognized encoding
二,文件编码转换
1.在 Vim 中直接进行转换文件编码,比如将一个文件转换成 utf-8格式 :set fileencoding=utf-8
2. iconv 转换,iconv 的命令格式如下:输入/输出格式规范: -f, --from-code=名称 原始文本编码 -t, --to-code=名称 输出编码 信息: www.Svn8.Com -l, --list 列举所有已知的字符集 输出控制: -c 从输出中忽略无效的字符 -o, --output=FILE 输出文件 Svn8.Com -s, --s ilent 关闭警告 --verbose 打印进度信息 -?, --help 给出该系统求助列表 --usage 给出简要的用法信息 -V, --version 打印程序版本号 例子: iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt 这个命令读取 aaa.txt 文件,从 utf-8编码转换为 gb2312编码,其输出定向到 bbb.txt文件。 iconv -f encoding -t encoding inputfile 比如将一个 UTF-8 编码的文件转换成 GBK 编码 iconv -f GBK -t UTF-8 file1 -o file2
3. enconv 转换文件编码 比如要将一个 GBK 编码的文件转换成 UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename
J. linux 数值转字符串
因为你的csum = { 7,4,1,‘a’ },并不是 { ‘7’,‘4’,‘1’,‘a’ }。字符和数值是有区别的,char c=1;不同于char c=‘1’;
修改:csum[pos++] = ‘0’+i;