python中的Postgresql数字类型显示
我有一个postgresql表,其列定义为:python中的Postgresql数字类型显示,python,postgresql,Python,Postgresql,我有一个postgresql表,其列定义为:numeric(20,7) 如果插入值0,则将其保存为:0.0000000 当我将这个值赋给Python(2.7)时,它会显示0E-7,这是正确的,但格式错误 为什么会这样表现呢?如何修复它?如果您想控制浮点数的格式,可以尝试: "{0:.2f}".format(n) # n is value read from db 只需将文件传递到以下位置,即可格式化文件: "{:f}".format(Decimal("0E-7")) Decimal支持: 默
numeric(20,7)
如果插入值0
,则将其保存为:0.0000000
当我将这个值赋给Python(2.7)时,它会显示0E-7
,这是正确的,但格式错误
为什么会这样表现呢?如何修复它?如果您想控制浮点数的格式,可以尝试:
"{0:.2f}".format(n) # n is value read from db
只需将文件传递到以下位置,即可格式化文件:
"{:f}".format(Decimal("0E-7"))
Decimal
支持:
默认情况下,它似乎使用十进制本身的精度:
>>> '{:f}'.format(Decimal('0E-7'))
'0.0000000'
>>> '{:f}'.format(Decimal('0E-8'))
'0.00000000'
>>> '{:f}'.format(Decimal('0E-9'))
'0.000000000'
另一方面,如果要使用自定义精度,请以格式字符串传递:
>>> print("{:.2f}".format(Decimal("0E-7")))
0.00
有关格式中不同字母的含义的解释,请参阅。您能解释一下语法吗?为什么是.2?@java.f
设置浮点的精度。我认为巴勃罗任意选择了2分。
>>> print("{:.2f}".format(Decimal("0E-7")))
0.00