I'd say use decimal as your data type on sql with a scale of 3 eg.
DECLARE @number DECIMAL(16,3) = 1
SELECT @number
Your result will return 1.000
Declare same data type variable on c# eg.
decimal number = 1.000m;
the value will be returned as 1 because 1 and 1.000 is the same thing, but because you still want it with 3 decimal places you have to do string formating eg.
textBox1.Text = number.ToString("N3");
This will return 1.000