首页 > 编程语言 >python format格式化数字

python format格式化数字

时间:2025-01-09 15:30:35浏览次数:3  
标签:格式化 填充 format python print 对齐

文章目录

本文主要讲解python中format函数如何格式化数字,如千分位、百分比、保留指定小数位、进制转换等等。

本文只讲解format与数字相关的用法,其他用法可参考本人写的其他文章。

一、format数字格式化语法

1.1、语法格式

str.format():str是指字符串实例对象,常用格式为:''.format()。

1.2、参数格式

更多内容参考官网地址:https://docs.python.org/zh-cn/3/library/string.html#formatspec

'{[index][:[fill]align][sign][#][width][.precision][type]}{......}{......}'.format(),格式中[]内的参数都是可选参数,每个{}都表示是一个待替换的字符串。

index:指定冒号后面出现的参数在format()中的索引值,如果没有,则以format()中的默认顺序自动分配。

fill:指定空白处的填充符。

align:指定数字的对齐方式。

align含义
<左对齐,对于大部分对象时为默认
>右对齐,对于数字时为默认
=数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效
^数据居中,此选项需和 width 参数一起使用

请注意,除非定义了最小字段宽度,否则字段宽度将始终与填充它的数据大小相同,因此在这种情况下,对齐选项没有意义。

sign:指定有无符号数 。

sign含义
+正数前面添加 ‘ + ’ ,负数前面加 ‘ - ’ 例如 +3 , -1 。
-表示正负号仅用于负数(这是默认行为)。正数前面不添加 ‘ + ’ ,负数前面加 ‘ - ’。例如 3 , -1。
space正数前面添加 ‘ 空格 ’ ,负数前面加 ‘ - ’
#对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;反之则不显示前缀

width:指定输出数据时所占的宽度。

.precision:如果后面存在type参数,则指的是保留小数的位数,如果type参数不存在,则是指有效数字的位数。

type:指定输出数据的具体类型。

type含义
s对字符串类型格式化,这是字符串的默认类型,可以省略。
%显示百分比,默认显示小数点后六位,将数字乘以 100 后面带一个百分号。
d十进制整数
c将十进制整数自动转化成对应的Unicode字符
b将十进制数自动转化成二进制数,并格式化输出
o将十进制数自动转化成八进制数,并格式化输出
x十六进制数,a 到 f 小写
X十六进制数,A 到 F 大写。 在指定 ‘#’ 的情况下,前缀 ‘0x’ 也将被转为大写形式 ‘0X’。
e转化成科学计数法,并格式化输出
E科学计数法。 与 ‘e’ 相似,不同之处在于它使用大写字母 ‘E’ 作为分隔字符。
f转化为浮点数,对 float 采用小数点之后 6 位精度,而对 Decimal 则使用大到足够显示所有系数位的精度。
F定点表示。 与 ‘f’ 相似,但会将 nan 转为 NAN 并将 inf 转为 INF。
g、G自适应转化为e或f(E或F),并格式化输出

二、基本用法

2.1、进制转换

N = 299
print('{:b}'.format(N))
print('{:c}'.format(N))
print('{:d}'.format(N))
print('{:o}'.format(N))
print('{:x}'.format(N))
print('{:X}'.format(N))

#十进制转化为二进制
print("二进制转化:{:#b}".format(16))               #二进制转化:0b10000
 
#十进制转化为八进制
print("八进制转化:{:#o}".format(16))               #八进制转化:0o20

#输出内容:
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py 
100101011
ī
299
453
12b
12B

2.2、百分比、千分位

#百分比
print('{:%}'.format(0.25)) #输出:25.000000%

#千分位
print('{:,}'.format(180000)) #输出:180,000

2.3、精度、保留小数位

Format中的限定符有更丰富的格式,通过{:}来表示

精度:指定小数点后面保留多少位如果是字符串,则是取长度:号后面设置精度(以.开始加上精度),然后用f结束,若不是设置,默认为精度为6,自动四舍五入,可带符号显示数字正负标志。

print('{:.2f}'.format(3.1415926))
print('{:.4}'.format(u'我是小明,爱好旅游'))
print('{:+.2f}'.format(99.1234567))  # 输出 +99.12 
print('{:-.2f}'.format(+99.1234567))  # 输出 99.12   
print('{:0=+10}'.format(99)) # 右对齐,10位数,不够0填充,同时在数字前面添加正负符号

# 输出
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test3.py 
3.14
我是小明
+99.12
99.12  
+000000099

2.4、填充与对齐

填充对齐:用^、<、>分别是居中、左对齐、右对齐,符号前表示要填充的字符,符号后表示要填充的长度

print('{:0<10}'.format(18))  # 左对齐,10位数,不够用0填充
print('{:0>10}'.format(18))  # 右对齐,10位数,不够用0填充
print('{:0^10}'.format(18))  # 中间对齐,10位数,不够用0填充
print('{:0=+10}'.format(99)) # 右对齐,10位数,不够0填充,同时在数字前面添加正负符号

#输出:
1800000000
0000000018
0000180000
+000000099



参考或推荐文章:
python format官网地址:https://docs.python.org/zh-cn/3/library/functions.html#format

标签:格式化,填充,format,python,print,对齐
From: https://blog.csdn.net/weixin_49114503/article/details/145027493

相关文章

  • python构建基于服务的架构
    我希望的基于服务的架构特征:可以在任何地方以方便的方式调用服务.例如:fromservicesimportserviceservice.sHelpler.run()服务之间可以互相调用.比如服务A可以调用服务B的某个功能,反之亦然.服务支持单例模式和多例模式支持服务的序列化之前有一篇博文python利......
  • Python网络爬虫简介-科普版
    Python网络爬虫简介一、什么是网络爬虫网络爬虫(WebCrawler),又称为网页蜘蛛、网页机器人,是一种按照一定规则自动抓取互联网信息的程序。它通过模拟浏览器的行为,访问网页,获取网页内容,并将这些内容存储下来,以便后续分析和处理。网络爬虫广泛应用于搜索引擎、数据分析、信息采......
  • 2025毕设python牙医诊所管理系统的设计与实现程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于牙医诊所管理系统的研究,现有研究主要以传统管理模式为主,专门针对基于Python的牙医诊所管理系统的研究较少。随着数字化时代的发展......
  • 湖北师范大学计信学院研究生课程Python程序设计实训第六周作业
    本周内容,还是使用湖师的风景图,将视频中所设计的图像处理方法进行一一实现。包括:颜色空间转换(灰度、BGR/RGB/HSV转换) 坐标变化(平移、旋转、镜像、缩放)    灰度变化(含伽马)    直方图   滤波(中值、均值、高斯)   锐化 importcv2importmatplot......
  • 湖北师范大学计信学院研究生课程Python程序设计实训第八周作业
    一.简答题(共1题)1. (简答题)请爬取几个主流招聘网站中的一个,对电子信息专业能应聘的岗位进行爬取,找出需求求职岗位最多的10个岗位和5个工作地点  将代码和爬取的网站结果一起打包上交。importrequestsfrombs4importBeautifulSoupfromcollectionsimportCounter......
  • 基于Python的酒店推荐系统
    系统展示用户前台界面管理员后台界面系统背景  随着旅游业的蓬勃发展,酒店行业迎来了前所未有的发展机遇。然而,面对众多的酒店选择,消费者往往难以做出决定,这不仅因为酒店数量庞大,还因为每个消费者的需求和偏好各不相同。传统的酒店推荐方式,如基于热门度或地理......
  • python毕设 新零售背景下半成品配菜平台程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于新零售背景下半成品配菜平台的研究,现有研究主要以新零售模式下的一般性商品销售为主,专门针对半成品配菜平台的研究较少。在当前快......
  • Python 魔法学院 - 第06篇:Python 面向对象 ⭐
    目录引言1.类与对象1.1什么是类与对象?1.2类的定义与实例化1.3类与对象的内存结构2.继承与多态2.1什么是继承?2.1.1单继承2.1.2多继承2.1.3方法解析顺序(MRO)2.2什么是多态?2.2.1多态的实现2.2.2鸭子类型2.3继承与多态的内存结构3.特殊方法与运算符重载3.1......
  • Python 魔法学院 - 第05篇:Python 函数 ⭐
    目录1.引言2.函数的基本概念2.1什么是函数?2.2为什么使用函数?3.函数的定义与调用3.1定义函数3.2调用函数3.3示例:简单的函数定义与调用4.函数的参数与返回值4.1参数的类型4.2返回值4.3示例:多种参数类型的函数5.函数的作用域5.1局部变量与全局变量5.2示例......
  • python 获取多个多级子目录及其子文件
    一、递归调用1、使用os.listdir()importosdeflist_files_and_folders(path):#遍历指定路径foriteminos.listdir(path):item_path=os.path.join(path,item)#获取完整路径print(item_path)#打印当前文件或文件夹的路径......