Python %f 怎么指定精度? 比我想指定到小数点后两位?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python %f 怎么指定精度? 比我想指定到小数点后两位?相关的知识,希望对你有一定的参考价值。

参考技术A %.2f,将该浮点数float保留两位小数。2表示保留的位数本回答被提问者采纳 参考技术B print("%.2f"%(123.456,))

Python字符串格式化

Python字符串格式化:

字符串中符号:

  %c :单个字符

  %s :字符串

  %d :整数

  %u :无符号整数

  %o :无符号八进制数

  %x :无符号十六进制数

  %X :无符号十六进制数(大写)

  %f  :浮点数,可指定小数点后的精度

  %e  :对浮点数使用科学计数法,可指定小数点后的精度。%E 与 %e 作用相同

  %g  :%f 和 %e 的简写,%G 与 %g 作用相同

注:%o 为八进制(oct)、%x 为十六进制(hex)。

# %c 只能输出单个字符
a = a
print("%c"%(a))
# a

# %s 字符串
strs = hello
print("%s"%(strs))
# hello

# %d 整数
num = 123
print("%d"%(num))
# 123

num = -123
print("%d"%(num))
# -123

# %u 无符号整数
num = 123
print("%u"%(num))
# 123

num = -123
print("%u"%(num))
# -123

# %o 八进制数

num = 11
print("%o"%(num))
# 13    1*8**1 + 3*8**0 = 11

print(oct(11))
# 0o13


# %x 十六进制数
num = 18
print("%x"%(num))
# 12    1*16**1 + 2*8**0 = 18

print(hex(num))
# 0o12

# %f 浮点数
num = 12.45
print("%f"%(num))
# 12.450000

# %.2f 输出到小数点后两位
print("%.2f"%(num))
# 12.45


# %e 科学计数法
num = 120000
print("%e"%(num))
# 1.200000e+05

print("%.2e"%(num))
# 1.20e+05

print("%E"%(num))
# 1.200000E+05

print("%.2E"%(num))
# 1.20E+05


# %g : %f 和 %e 的简写
num = 31415926
print("%g"%(num))
# 3.14159e+07

print("%G"%(num))
# 3.14159E+07

格式化操作符的辅助指令:

  * :定义宽度 或 小数点精度

  - : 左对齐

  + : 使正数显示符号

  <sp>:在正数前显示空格

   # :在八进制前显示 0 ,在十六进制前显示 0x 或 0X

   0 :显示的数字前面填充 ‘0‘ 

  % :%%输出单个%

 (var) :字典参数映射变量

 m.n. :m是显示的宽度,n 是小数点后的位数


2020-02-08

 

以上是关于Python %f 怎么指定精度? 比我想指定到小数点后两位?的主要内容,如果未能解决你的问题,请参考以下文章

在C#中怎么控制float的值保留小数的位数

c语言如何控制小数位数?

Python字符串格式化

如何格式化具有指定精度级别的数字?

实验二

python 中字符串替换问题 指定字符串替换 比如 /test/a.txt 只替换 a 把a 变成b,c,d,e,f等等等怎么替换