Often, a number is useful only in reference to other numbers. For example, customers rated their satisfaction as 9.1 out of 10 sounds good, but not when you hear that elsewhere in the industry reported satisfaction of 9.5/10 is the norm.
The same applies to the width of confidence intervals. Unless you have a reference of some sort, as @Macro says there is no way of providing an answer to your question. It looks like you have some statistical output that compares your value to zero and says you are unlikely to have gotten the result you have if the real value is zero (this is the p value). This may or may not be of interest.
If your main research question is "can we find evidence that this parameter is not zero", then your confidence interval is plenty narrow enough. If your research question is "can we decide between X who claims this number is 0.3 and Y who claims it is 0.4" then it is too wide.
Edit / addition after comments and the update of the question:
To explain the last sentence further. If all you want is to establish that there is some relationship between income and savings, you have already done it, because your confidence interval is a long way from zero. So there is no need to look for a smaller confidence interval from more data, etc. If, however, you are interested in the nature of that relationship, eg because there is a theoretical dispute about whether the correlation coefficient is really 0.3 or 0.4, then you do not have enough data to answer the question. Both alternatives are in your confidence interval - you will need to find more data.
In my comments on the original question however, I suggested that the correlation coefficient is not a good way of showing the relationship between two variables like this. Consider the two examples shown below. The first has a very high correlation coefficient and a negligible confidence interval, yet the relationship between savings and income is what I would call weak - an increase in income does not lead to much of an increase in savings. The second plot is the other way around - there is a lot more (realistic) noise in the data, but an increase in income leads to quite a significant increase in savings. For most purposes, you want to say the second plot shows a stronger relationship than the first. To do this you need to fit a regression model of some sort.
The R code that produced these plots is below.
income <- exp(rnorm(100,6,.5))
summary(income)
savings1 <- 80 + income*.05
savings2 <- 8 + income*.5 + exp(rnorm(100,4.5,.5)) + rnorm(100,0,150)
win.graph(10,5)
par(mfrow=c(1,2), adj=0)
plot(income, savings1, ylim=c(0,1500), bty="l", adj=.5)
text(200,1500, "r=1.00")
text(200,1300, "Confidence interval for r=[1,1]")
text(200,1100, "Slope confidence interval=[0.05, 0.05]")
library(boot)
test <- data.frame(income, savings2)
test.b <- boot(test, function(x,w){cor(test[w,1], test[w,2])}, R=1000)
ci <- round(as.vector(round(quantile(test.b$t, prob=c(0.025, 0.975)),2)),2)
ci2 <- round(as.vector(confint(lm(savings2~income))[2,]),2)
plot(income, savings2, ylim=c(0,1500), bty="l", adj=.5)
abline(lm(savings2~income))
text(200,1500, paste0("r=", round(cor(income, savings2),2)))
text(200,1300, paste0("Confidence interval for r=[", ci[1], ", ", ci[2],"]"))
text(200,1100, paste0("Slope confidence interval=[",ci2[1], ", ", ci2[2],"]"))