Assuming that you mean you are converting a string like "12.350" to a float value, then the "final zero" is not truncated, it's just irrelevant: a float value does not store a precision so it has an infinite supply of zeros to the right of the decimal point.
What is actually happening is that when you convert the float back to a string for display, the irrelevant zero is not being displayed. You can force it by specifying a format when you display the value.
float f = 12.350F;
Console.WriteLIne(f.ToString("00.000"));
will give "12.350"
float f = 12.350F;
Console.WriteLine("{0:00.000}", f);
Will also give "12.350"