Float calculation always outputting 0 when multiplied with another float....

The following is whats not working, basically every time I multiply the local position y of the object by any value other than an integer value declared in the shown script, it results in 0 and hence the object itself is moved to the origin , I’ve tried using doubles and all sorts of weird solutions , although to no avail , the y position of the object is currently really small at about -0.0195 , and i,m not sure if its just because the value is so small that when put into a calculation it’s just read as 0 or not.
If you are wondering the vertExtent is the orthographic size of the camera in my scene and is set to 8 , so theoretically the value from this should be 1 * … but still doesn’t seem to work.

using UnityEngine;
using System.Collections;

public class ScaleLazerNodes : MonoBehaviour {

	// Use this for initialization
	void Start () {
        gameObject.transform.localPosition = new Vector3(0, gameObject.transform.localPosition.y * (Spawner.vertExtent) / 8, 0);
	// Update is called once per frame
	void Update () {

The y position of -0.0195 is small and effectively, with x and z at zero, the object is close to the origin. Nevertheless, the calculation looks ok.

I assume Debug.Log for each stage of the calculation was used to display individual parts of the calculation. If so, note that Debug.Log defaults to rounding 1 decimal place, and so in this example will always display y as 0.0.
Suggest using a string formatter to display more decimal places: