C语言、Python 字符型数据 和 整型,浮点型数据转换

1.python 字符串和整数的转换

直接使用:float(‘31.2534’)
但要注意使用float()时,传入括号里的一定要有数据,不能是空,比如‘’ ,这个不行。

常用的格式化字符串:
%d            整数
%f%F          浮点数
%e%E          科学计数
%g%G          e 和%f/%E 和%F 的简写 
%%            输出%

格式化操作符辅助指令 
符号                作用 
*            定义宽度或者小数点精度 
-            用做左对齐 
+            在正数前面显示加号( + ) 
<sp>         在正数前面显示空格 
#            在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') 
0            显示的数字前面填充‘0’而不是默认的空格 
%            '%%'输出一个单一的'%' 
(var)        映射变量(字典参数) 
m.n          m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) 

示例:
'%f' % 1234.567890     输出:'1234.567890'
 
'%.2f' % 1234.567890   输出:'1234.57'

2.C语言中的格式转换函数

2.1 atof(将字符串转换成浮点型数)

2.2atoi(将字符串转换成整型数)

2.3atol(将字符串转换成长整型数)

2.4gcvt(将浮点型数转换为字符串,取四舍五入) gcvt()与ecvt()和fcvt()不同

在Keil中,#include <stdlib.h>
#include <string.h> 不包含gcvt(),就可以用 sprintf()
sprintf()函数的用法总结

sprintf 最常见的应用之一是把整数打印到字符串中,所以,spritnf 在大多数场合可以替代itoa。如:
1>把整数123 打印成一个字符串保存在s 中。
    sprintf(s, "%d", 123); //产生"123"
2>可以指定宽度,不足的左边补空格:
    sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"
3>当然也可以左对齐:
    sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"
4>也可以按照16 进制打印:
    sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐
    sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐
    这样,一个整数的16 进制字符串就很容易得到,但我们在打印16 进制内容时,通常想要一种左边补0 的等宽格式,那该怎么做呢?很简单,在表示宽度的数字前面加个0 就可以了。
    sprintf(s, "%08X", 4567); //产生:"000011D7"
    上面以”%d”进行的10 进制打印同样也可以使用这种左边补0 的方式。

2.5strtod(将字符串转换成浮点数)

2.6strtol(将字符串转换成长整型数)

2.7ascii(将整型数转换成合法的ASCII 码字符)

2.8tolower(将大写字母转换成小写字母)

2.9toupper(将小写字母转换成大写字母)

2.10 有两种方法可以实现C语言中怎么把一维数组赋给另外一个一维数组。

2.10.1 逐个赋值du法。

采用循环,逐项赋值。
以整型为例,int a[10], b[10];要把a的值赋值给b,可以写作int i;for(i = 0; i < 10; i ++) b[i] = a[i];

2.10.2 整体复制法。(这个方法复制字符串好用,整型、浮点型数组不好用)

利用C语言库函数memcpy可以整体复制。
memcpy声明与string.h中,
形式为:
void * memcpy(void *dst, void *src, int length);
其功能为将src地址上长度为length字节的数据,复制到dst上。于是上一个方法中的例子,可以用memcpy(b,a,sizeof(a));来实现相同效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值