Search code examples
rpastedigitssignificant-digits

r keeping 0.0 when using paste or paste0


This is a simple question but it is starting to annoy me that I cant find a solution....

I would like to be able to keep the 0.0 when using it as an output when using paste or paste0 so if i have the following:

y <- c(-1.5,-1.0,-0.5,0.0,0.5,1.0,1.5)
> y
[1] -1.5 -1.0 -0.5  0.0  0.5  1.0  1.5
paste0("x",y,"x")

I get:

[1] "x-1.5x" "x-1x"   "x-0.5x" "x0x"    "x0.5x"  "x1x"    "x1.5x" 

but want:

[1] "x-1.5x" "x-1.0x"   "x-0.5x" "x0.0x"    "x0.5x"  "x1.0x"    "x1.5x" 

Solution

  • You can use sprintf():

    paste0("x", sprintf("%.1f", y), "x")