【发布时间】:2021-09-13 13:49:57
【问题描述】:
我尝试从十进制中删除尾随零并使用此代码格式化货币
def dropzeros_with_comma(num):
return "{:,}".format(num)
当 num 为 2220.80 时有效,返回 2,220.8
但是当 num 是 2220.00 它返回 2,220.0 我只想要 2,220
谁能帮忙
【问题讨论】:
我尝试从十进制中删除尾随零并使用此代码格式化货币
def dropzeros_with_comma(num):
return "{:,}".format(num)
当 num 为 2220.80 时有效,返回 2,220.8
但是当 num 是 2220.00 它返回 2,220.0 我只想要 2,220
谁能帮忙
【问题讨论】:
我认为没有特定的格式;您可以手动删除“.0”:
def dropzeros_with_comma(num):
s = "{:,}".format(num)
if s.endswith(".0"):
return s[:-2]
else:
return s
【讨论】:
else: 是多余的。
else 是不必要的;它可以被包括在内以保持对称或为简洁而省略
return 完成了两个分支,这在逻辑上已被涵盖,但代码的修改很容易丢失该属性。我会使用 s = s[:-2] 并让单个 return 语句处理这两种情况。