- Python 字符串的格式化输出
1.进制转换
%o —— oct 八进制 %d —— dec 十进制 %x —— hex 十六进制
代码
s="十进制:%d"%(123) s="八进制:%o"%(123) s="十六进制:%x"%(123)
运行结果
2. 浮点数输出
%f ——保留小数点后面六位有效数字
%.f ——保留整数部分
%.3f,保留3位小数位
%e ——保留小数点后面六位有效数字,指数形式输出
%.3e,保留3位小数位,使用科学计数法
%g在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
%.3g,保留3位有效数字,使用小数或科学计数法
代码
print('%.f'%121.11)
print('%.3f'%121.11)
print('%e'%121.11)
print('%.3e'%121.11)
print('%g'%121.11)
print('%.3g'%121.11)
运行结果
3. 内置round()
传入2个参数值时rount(a,b),
a–这是一个数字表达式
b–表示从小数点到最后四舍五入的位数。默认值为0
round()函数只有一个参数,不指定位数的时候,返回一个整数,而且是最靠近的整数,类似于四舍五入,当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的情况时,如果要取舍的位数前的小数是奇数,则直接舍弃,如果是偶数则向上取舍。
代码
a=1.23 a=round(a) a=1.2311 a=round(a,3) a=1.5 a=round(a) a=4.5 a=round(a)
运行结果
4.内置format()
相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
位置匹配
(1)不带编号,即“{}”
(2)带数字编号,可调换顺序,即“{1}”、“{2}”
(3)带关键字,即“{a}”、“{tom}”
代码
print('我是{}'.format('ACM队员'))
print('我是{0},{1}'.format('ACM','队员'))
print('{a} {tom} {a}'.format(tom='ACM',a='我来了'))
运行结果
5.对齐操作
%10s——右对齐,占位符10位
%-10s——左对齐,占位符10位
%.2s——截取2位字符串
%10.2s——10位占位符,截取两位字符串
< (默认)左对齐、> 右对齐、^ 中间对齐、= (只用于数字)在小数点后进行补齐
- C++字符串的格式化输出
-
printf()函数
类似于%d这样的符号叫做转换说明,他们指定了如何把数据转换成可显示的形式
-
对齐操作
代码
#include#define PAGES 931 int main (void) { printf("*%d*n",PAGES); printf("*%2d*n",PAGES); printf("*%10d*n",PAGES); printf("*%-10d*n",PAGES); return 0; }
运行结果
*931* *931* * 931* *931 *
- 保留小数点操作
#includeint main (void) { const double RENT=3852.99; printf("*%f*n",RENT); printf("*%e*n",RENT); printf("*%4.2f*n",RENT); printf("*%3.1f*n",RENT); printf("*%10.3f*n",RENT); printf("*%10.3e*n",RENT); printf("*%+4.2f*n",RENT); printf("*%000.2f*n",RENT); return 0; }
运行结果
*3852.990000* *3.85299e+03* *3852.99* *3853.0* * 3852.990* * 3.863e+03* *+3852.99* *0003852.99*
待续
2021,10,6



