Hola Alberto el resultado que me arroja es 40
El resultado que te arroja... ¿dónde, cuándo, haciendo qué cosa?
Normalmente cuando ocurren estas cosas (es decir que te ignora el punto decimal y te trata el 0.40 como si fuera 40) la razón suele ser que le estás indicando mal el separador, y te lo interpreta como punto de miles en lugar de punto decimal. Típicamente indica que no estás usando correctamente el Globalization o el CultureInfo.