This can be done by specifying the format settings for each calculation as a list. The elements in the list are passed as arguments to the R base::format()
function by pivottabler
.
As an example, starting from this sample data (since the sample data in the question was confusing me by having a standard deviation as a percentage):
library(pivottabler)
qhpvt(bhmtrains, "TOC", "TrainCategory",
c("Value 1"="mean(SchedSpeedMPH, na.rm=TRUE)*33.33333",
"Value 2"="sd(SchedSpeedMPH,na.rm=TRUE)*333.33333"),
formats=list("%.5f", "%.5f"),
totals=list("TOC"="All TOCs", "TrainCategory"="All Categories"))

Specifying format settings as lists:
library(pivottabler)
qhpvt(bhmtrains, "TOC", "TrainCategory",
c("Value 1"="mean(SchedSpeedMPH, na.rm=TRUE)*33.33333",
"Value 2"="sd(SchedSpeedMPH,na.rm=TRUE)*333.33333"),
formats=list(list(digits=1, nsmall=0, big.mark=".", decimal.mark=","),
list(digits=1, nsmall=1, big.mark=".", decimal.mark=",")),
totals=list("TOC"="All TOCs", "TrainCategory"="All Categories"))
Result:
