数字格式化
数字 | 格式 | 输出 | 说明 |
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | 3.14 | 带符号保留小数点后2位 |
3.1415926 | {:.0f} | 3 | 不带小数,但是会四舍五入 |
5 | {:0>2d} | 05 | 数字补0,填充左边,宽度为2 |
5 | {:x<4d} | 5xxx | 数字补x,填充右边,宽度为4 |
10 | {:x<4d} | 10xx | 数字补x,填充右边,宽度为4 |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00E+09 | 指数记法 |
66 | {:10d} | 66 | 右对齐,宽度为10 |
66 | {:<10d} | 66 | 左对齐,宽度为10 |
66 | {:^10d} | 66 | 中间对齐,宽度为10 |
# 定义常量
a = 3.1415926 # 浮点数示例
b = -3.1415926 # 负浮点数示例
c = 5 # 整数示例
d = 10
e = 1000000
f = 0.25
g = 1000000000
h = 66
def Float_format(s):
"""
格式化浮点数字符串。
将传入的字符串s转换为浮点数,并将其格式化为保留两位小数的字符串。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = float(s)
# 使用格式化字符串
return f"{num:.2f}"
def Float_format2(s):
"""
格式化浮点数字符串。
将传入的字符串s转换为浮点数,并将其格式化为保留两位小数的字符串。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = float(s)
# 使用格式化字符串
return f"{num:.2f}" # 注意这里应该是 `:.2f` 而不是 `:-.2f`
def Float_format3(s):
"""
格式化浮点数字符串。
将传入的字符串s转换为浮点数,并将其格式化为保留零位小数的字符串,并带上正负号。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = float(s)
# 使用格式化字符串
return f"{num:+.0f}"
def Num_format4(s):
"""
格式化整数字符串。
将传入的字符串s转换为整数,并将其格式化为宽度为2的字符串,不足部分用0填充。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
# 将整数转换为字符串
num = int(s)
# 使用格式化字符串
b = f"{num:0>2d}"
return b
def Num_format5(s):
"""
格式化整数字符串。
将传入的字符串s转换为整数,并将其格式化为宽度为4的字符串,不足部分用0填充。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = int(s)
b = f"{num:0<4d}"
return b
def Num_format6(s):
"""
格式化整数字符串。
将传入的字符串s转换为整数,并将其格式化为带有千位分隔符的字符串。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = int(s)
b = f"{num:,}"
return b
def float_format7(s):
"""
格式化浮点数字符串。
将传入的字符串s转换为浮点数,并将其格式化为百分比形式,保留两位小数。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = float(s)
# 使用格式化字符串
b = f"{num:,.2%}"
return b
def Num_format8(s):
"""
格式化整数字符串。
将传入的字符串s转换为整数,并将其格式化为科学计数法形式,保留两位小数。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = int(s)
b = f"{num:.2e}"
return b
def Right_align(s):
"""
格式化整数字符串。
将传入的字符串s转换为整数,并将其右对齐,总宽度为10个字符,不足部分用空格填充。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = int(s)
b = f"{num:>10d}"
return b
def Left_align(s):
"""
格式化整数字符串。
将传入的字符串s转换为整数,并将其左对齐,总宽度为10个字符,不足部分用空格填充。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = int(s)
b = f"{num:<10d}"
return b
def center_align(s):
"""
格式化整数字符串。
将传入的字符串s转换为整数,并将其居中对齐,总宽度为10个字符,不足部分用空格填充。
参数:
s: str,需要格式化的数字字符串。
返回值:
str,格式化后的数字字符串。
"""
num = int(s)
b = f"{num:^10d}"
return b
if __name__ == "__main__":
# 调用函数并打印输出
print(f"{a}数字格式化输出结果为: {Float_format(a)}")
print(f"{b}数字格式输出结果为: {Float_format2(b)}")
print(f"{a}数字格式输出结果为: {Float_format3(a)}")
print(f"{c}数字格式输出结果为: {Num_format4(c)}")
print(f"{c}数字格式输出结果为: {Num_format5(c)}")
print(f"{d}数字格式输出结果为: {Num_format5(d)}")
print(f"{e}数字格式输出结果为: {Num_format6(e)}")
print(f"{f}数字格式输出结果为: {float_format7(f)}")
print(f"{g}数字格式输出结果为: {Num_format8(g)}")
print(f"{h}数字格式输出结果为: {Right_align(h)}")
print(f"{h}数字格式输出结果为: {Left_align(h)}")
print(f"{h}数字格式输出结果为: {center_align(h)}")
执行结果