You cannot calculate these without further assumptions.
The simplest would be to assume that spending in each bin is uniformly distributed.
Then the mean is easy: Since the 10 people under \$10 are uniformly distributed, it's just as if all 10 spent \$5 (halfway between \$0.01 and \$9.99). Similarly, 20 spent \$15 and 30 spent \$60. \$100 + \$300 + \$1800 = \$2200 and there were 100 people so that's \$22 per person.
For the standard deviation, it's probably easiest to simulate the data
set.seed(1020101)
a <- runif(10, 0, 9.99)
b <- runif(20, 10, 19.99)
c <- runif(30, 20, 99.99)
d <- rep(0, 60)
total <- c(a,b,c,d)
sd(total)
and run it several times.
Alternatively, see Dr. Math