As an example, decimal128(7, 3) can exactly represent the numbers 1234.567 and -1234.567 (encoded internally as the 128-bit integers 1234567 and -1234567, respectively), but neither 12345.67 nor 123.4567.
library(arrow, warn.conflicts = FALSE)
Array$create(1234.567, type = decimal128(7, 3))
#> Error: NotImplemented: Extend