代码之家  ›  专栏  ›  技术社区  ›  iamericfletcher

如何在if语句的输出中增加两位数的精度

  •  0
  • iamericfletcher  · 技术社区  · 4 年前

    我想把我的 if

    我尝试使用以下方法,但没有成功:

    options(digits=)

    format(round())

    formatC()

    代码

    x <- 30
    y <- 120.00
    
    if(x %% 5 == 0 & y >= x + 0.50){
      y - x - 0.50
    }else{
      y
    }
    #> [1] 89.5
    

    创建于2020-08-23 reprex package (0.3.0版)

    我希望这个输出,以及将来不同x和y值的迭代,有两位数的精度 89.50 .

    1 回复  |  直到 4 年前
        1
  •  1
  •   Ronak Shah    4 年前

    一种方法是使用 nsmall format .

    x <- 30
    y <- 120.00
    
    if(x %% 5 == 0 & y >= x + 0.50){
      z <- y - x - 0.50
    }else{
      z <- y
    }
    
    format(z, nsmall = 2)
    #[1] "89.50"