【问题标题】:How to display quotient as a percentage如何将商显示为百分比
【发布时间】:2017-12-14 12:38:21
【问题描述】:

我正在使用 Postgresql 生成两个字段“a / b”= -3 / 300 = -.01 或 -1.00% 的简单商。相反,它显示为零。我尝试了许多 to_char 变体但没有成功。如何获得“选择 -3/300 作为商”以 xxx.xxx% 格式显示商?谢谢

【问题讨论】:

  • 您能详细说明一下吗?因为上次我检查(3 / 300) == 0,Postgres 对输入整数进行整数除法。因此,(a / b::float) * 100.0 可能是一个更好的主意。
  • 请举一个更详细的例子来详细说明,并准确描述您采取的步骤以及没有按预期工作的步骤。
  • 当然,它实际上是 (-3 / 300) = 0.01 = 1.00%,并且 ::float 建议会产生影响!谢谢。

标签: postgresql percentage


【解决方案1】:

要使用百分号显示,可以使用以下格式。不要忘记先乘以 100.0,所以 1) 它确实是一个百分比,2) 正如@dhke 所指出的,计算是用浮点数完成的,而不是整数。

select to_char(100.0*-3/300,'999D99%') a;
    a
----------
   -1.00%
(1 row)

【讨论】:

  • 谢谢,JGH,这确实产生了积极的变化。上面的 "::float" 建议让我越过了终点线,但是这种使用 no_char 的技术是我会随身携带的,它给了我更多的选择。谢谢。
  • 很好的答案,我还建议使用 '990D99%' 进行格式化,以获得 0.23% 而不是 0.23%
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 2021-12-22
  • 2016-05-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-29
相关资源
最近更新 更多