Why should changing the units of the variable change the required sample size? I am trying to calculate the survey sample size necessary to estimate average rice yield. 
If the standard deviation is 10 tons, then the variance is 100. Plugging this into the sample size formula (at 95% confidence, 5% MoE, 100,000 population) then I need a sample of 16. 
But, if I change the unit of measurement to kg, the same standard deviation is 10000kg. The variance then becomes 100,000,000. The required sample size skyrockets to 99,354. 
Why should changing the units of the variable change the required sample size? Does this mean that I can get around any sample size problems by simply changing the units of measurement? Apologies if this is too simple a question for this forum, but I've hunted far and wide on the internet for the intuition behind this...
 A: The problem lies in the $d^2$ in the denominator has not been adjusted. A 5% error in kg is the not the same as 5% error in tons. Using this basic formula that does not assume finite population (aka results may different from your formula's):
$N = \frac{1.96^2 \times SD^2}{d^2}$
> # SD = 10 tons:
> (1.96^2 * (10^2))/(5^2)
[1] 15.3664
> 
> # SD = 10000 kg:
> (1.96^2 * (10000^2))/(5^2)
[1] 15366400
> 
> # While in fact, the margin of error equivalent to 5% of a ton is 5000% of a kg:
> (1.96^2 * (10000^2))/(5000^2)
[1] 15.3664
> 
> # Or, you can get the same thing using ton, making the margin 1000 times smaller:
> (1.96^2 * (10^2))/(.005^2)
[1] 15366400

Then, apply the finite population adjustment:
$final.n = n \times \frac{N}{N + n}$
where $N$ is the population size and $n$ is the sample size based on infinite population, we will recover 16 and 99354.
In the scenario using kg, you're practically asking for a sample that can give a precision 1,000 times higher than that from tons, making your required sample size so much higher.
