是否可以使用字符串插值或string.format
将负数呈现为使用括号而不是“负号”格式化的文本?
即-3.14
应该是(3.14)
。
我希望使用字符串插值或string.format
来实现这一点,而不是需要专门为货币或会计设计的导入。
编辑以澄清:请假定要格式化的变量是int
或float
。一、 e.虽然这可以用正则表达式来实现(见下面的好答案),但我认为这将是Python格式化功能的一个更本机的操作。
所以要说清楚:
import numpy as np
list_of_inputs = [-10, -10.5, -10 * np.sqrt(2), 10, 10.5, 10 * np.sqrt(2)]
for i in list_of_inputs:
# your awesome solution goes here
应返回:
(10)
(10.5)
(14.14)
10
10.5
14.14
显然,最后一个问题有一些灵活性。我希望“将负数放入括号”是字符串插值或string.format
的自然参数,以便在设置负数的显示样式时可以使用其他格式语言。
Pandas有一个floats的显示选项,numpy有一个任何数据类型的显示选项:
注意:A是浮点列,B是int列。
我们可以根据数字的符号编写一个简单的格式化程序:
您还可以配置numpy的打印选项:
注意:这不会改变数据的存储方式,只是改变您查看数据的方式。
如果您只需要处理可能为负数的输入:
这就是格式化程序类的子类的用途。请尝试以下操作:
这张照片:
相关问题 更多 >
编程相关推荐