【问题标题】:sprintf adds minus sign to zero after roundingsprintf 在舍入后将减号添加到零
【发布时间】:2011-10-19 00:22:14
【问题描述】:

让我们做一些四舍五入

> round(-0.001, 2)
[1] 0

我收到零。

现在与 sprintf 结合

> sprintf("%f", round(-0.001,2))
[1] "-0.000000"

为什么会有减号?我期待0.000000

$R --version
R version 2.13.1 (2011-07-08)

【问题讨论】:

  • 如果您不喜欢这种行为,只需添加任何内容:sprintf("%f", round(-0.001,2) + 0)
  • 太棒了!这是解决此问题的简单方法。

标签: r printf rounding negative-number


【解决方案1】:

这是浮点数的本质 (IEEE 754),定义了 -0。见-0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    相关资源
    最近更新 更多