将浮点数转换为字符串的最Pythonic的方法是将浮点数传入内置的 [str()](https://blog.finxter.com/python-str-function/)函数。例如,str(1.23) 将浮点数1.23 转换为字符串'1.23' 。
这里有一个最小的例子。
my_float = 1.23
my_string = str(my_float)
print(my_string)
# '1.23'
Python Float to String Precision (Decimals)
要在逗号后设置小数精度,可以使用Python 3中的f-string格式化功能。例如,表达式f'{x:.3f}' ,将浮动变量x 转换为精度为3的浮动。
下面是一个例子。
my_float = 1.23456789
my_string = f'{my_float:.3f}'
print(my_string)
# '1.235'
注意,浮动值1.23456789被四舍五入为1.235,小数点后有三位数字。
Python Float to String Format
在Python中把浮点数转换为字符串时,要设置逗号后的精度,也可以使用string [format()](https://blog.finxter.com/python-string-format/)方法。例如,表达式'{:.2f}'.format(x) 将浮点变量x 转换为精度为 2 的浮点,如3.13 或1.23 。
这里有一个例子。
my_float = 1.23456789
my_string = '{:.3f}'.format(my_float)
print(my_string)
# '1.235'
Python Float to String 两(2)个小数位
在将浮点数转换为字符串时,要将逗号后的精度设置为两位小数,可以使用Python的f-string格式化功能。例如,表达式f'{x:.2f}' 将浮动变量x 转换为精度为二 ("2") 的浮动变量,如1.23 或3.14 。
下面是一个例子。
my_float = 1.23456789
my_string = f'{my_float:.2f}'
print(my_string)
# '1.23'
注意,在这种情况下,剩余的数字被四舍五入到下一个整数位。然而,在另一种情况下,这种确切的方法会向上舍入。
my_float = 1.239
my_string = f'{my_float:.2f}'
print(my_string)
# '1.24'
Python Float to String Round
- 如果你在一个给定的浮点数上使用
str()函数,Python不进行四舍五入,例如,str(1.24999)产生'1.24999'。 - 如果你使用
f'{my_float:.2f}'表达式,Python 将浮点数转换为四舍五入后的浮点数的字符串表示,其数字为n。
下面的例子显示了这两种情况。
my_float = 1.24999999
# 1: NO ROUNDING
str(my_float)
'1.24999999'
# 2: ROUNDING
f'{my_float:.2f}'
'1.25'
Python 将浮点数转为字符串,没有.0
如果你想把一个浮点数如1.0,2.0, 或3.0 转换为没有小数点后缀的字符串.0 ,首先把浮点数传到 [int()](https://blog.finxter.com/python-int-function/)函数,并将得到的整数传给str() 函数。例如,表达式str(int(3.0)) 将浮点数转换为字符串'3' 。
下面是一个最小的例子。
my_float = 3.0
my_string = str(int(my_float))
# '3'
Python Float to String without Decimal
如果你想将浮点数转换为没有小数点后缀的字符串,请将其传递给 [int()](https://blog.finxter.com/python-int-function/)函数,并将得到的整数传入str() 函数。例如,表达式str(int(3.599)) 将浮点数转换为字符串'3' 。
这里是一个最小的例子。
my_float = 3.599
my_string = str(int(my_float))
# '3'
带逗号的Python浮点数转为字符串
要将浮点数转换成带有逗号而不是小数点的字符串,即'3,599' ,而不是'3.599' ,应用两个步骤。
- 通过使用
str(my_float)函数将浮点数转换为带有小数点的字符串。 - 通过使用函数将小数点字符串转换为逗号表示。
[string.replace('.', ',')](https://blog.finxter.com/python-string-replace-2/)函数。
这里有一个例子。
my_float = 3.599
my_string = str(my_float)
# '3.599'
new_string = my_string.replace('.', ',')
# '3,599'
Python浮点数到字符串的科学符号
要将一个浮点数转换为带有科学符号的Python字符串,对一个浮点数变量my_float ,使用f-string表达式f'{my_float:.2E}' 。
这里有一个例子。
my_float = 999999999999999999.999999999999
my_string = f'{my_float:.2E}'
print(my_string)
# 1.00E+18