如何在python中将浮点数格式化为字符串?

问题描述 投票:0回答:7
def main():
    M = float(input('Please enter sales for Monday: '))
    T = float(input('Please enter sales for Tuesday: '))
    W = float(input('Please enter sales for Wednesday: '))
    R = float(input('Please enter sales for Thursday: '))
    F = float(input('Please enter sales for Friday: '))
    sales = [M, T, W, R, F]

        total = 0 

    for value in sales:
        total += value

    print ('The total sales for the week are: $',total('.2f'))

main()

.2f格式出现此异常:

TypeError: 'float' object is not callable

如果我删除.2f,则脚本可以正常运行,但是格式不符合我的期望,它显示为:

The total sales for the week are: $ 2500.0

我希望它具有两个小数位,并且$符号之间没有空格。

是python的新手,学习基础知识。非常感谢您的帮助。

python python-3.7
7个回答
2
投票

替换

print ('The total sales for the week are: $',total('.2f'))

for

print ('The total sales for the week are: $',"{0:.2f}".format(total))

2
投票

这是使用python 3 f字符串功能的解决方案

print (f'The total sales for the week are: {total:.2f}')

2
投票

在python中,您可以通过多种方式设置字符串格式。这里有一些很好的资源:

根据您的情况,您可以像这样格式化总值:

>>> total = 1234.56789

>>> "{:.2f}".format(total)
'1234.57'

>>> "%.2f" % total
'1234.57'

# This only works in 3.7 and later
>>> f"{total:.2f}"
'1234.57'

对于您的特定情况,您可以一次性格式化整个print字符串:

print(f"The total sales for the week are: ${total:.2f}")

1
投票

您可以使用内置的sum功能对列表进行总计。尝试print(sum(sales))

您可以像这样print(f'Week is {sum(sales):.2f}')格式化您的浮点数>

小尼特。

保持骇客!记笔记。


1
投票

Python中的格式化程序可让您将花括号用作通过str.format()方法传递的值的占位符。


0
投票

0
投票

只需进行此更正:

© www.soinside.com 2019 - 2024. All rights reserved.