Error: Unhandled Exception Exception: UnexpectedTypeException: Expected Number/Float/Long/Double, given Float/String Stack: - onTap() at C:\Users\Me\eclipse-workspace\Projects\Map Widget App\source\MapWidgetPanDelegate.mc:55 0x10001299

I'm not sure I understand exactly what is going on here, I would appreciate some help, line 55 has been highlighted.

using Toybox.WatchUi;
using Toybox.Graphics;
using Toybox.System;
using Toybox.Position;
using Toybox.Application;

class MapWidgetPanDelegate extends WatchUi.BehaviorDelegate {

    enum {
        ON_NEXT_PAGE,
        ON_PREV_PAGE,
        ON_MENU,
        ON_BACK,
        ON_NEXT_MODE,
        ON_PREV_MODE,
        ON_SELECT
    }

    function initialize() {
        BehaviorDelegate.initialize();
    }

    function onTap(clickEvent)
    {
        var g_deg0 = Application.Properties.getValue("longitude");
        var g_deg1 = Application.Properties.getValue("latitude");
        var coord = clickEvent.getCoordinates();
        var x = coord[0];
        var y = coord[1];

        if(x > 0 && x < 60 && y > 40 && y < 200)
        {
            System.println("left");
            var long = (g_deg0 + 1.0);
            Application.Properties.setValue("longitude", long);
            System.println("works");
            WatchUi.requestUpdate();
        }
        else if(x > 180 && x < 240 && y > 40 && y < 200)
        {
            System.println("right");
            var long = (g_deg0 - 1.0);
            Application.Properties.setValue("longitude", long);
            System.println("works");
            WatchUi.requestUpdate();
        }
        else if(x > 60 && x < 180 && y > 0 && y < 60)
        {
            System.println("up");
            var lati = (g_deg1 + 1.0);
            Application.Properties.setValue("latitude", lati);
            System.println("works");
            WatchUi.requestUpdate();
        }
        else if(x > 60 && x < 180 && y > 180 && y < 240)
        {
            System.println("down");
/* 55 */    var lati = (g_deg1 - 1.0);
            Application.Properties.setValue("latitude", lati);
            System.println("works");
            WatchUi.requestUpdate();
        }
        else
        {
            System.println("cl");
            Position.enableLocationEvents(Position.LOCATION_DISABLE, method(:onPosition));
        }
    }

    function onHold(clickEvent){
        WatchUi.pushView(new MapWidgetView(),new MapWidgetDelegate(), WatchUi.SLIDE_UP);
        WatchUi.requestUpdate();
    }
    function onPosition(info) {
        positionView.setPosition(info);
    }

}


This is the properties file

<resources>
  <properties>
    <property id="latitude" type="float">50.987765</property>
    <property id="longitude" type="float">0.987765</property>
  </properties>

  <settings>
    <setting propertyKey="@Properties.latitude" title="@Strings.lat">
      <settingConfig type="numeric" />
    </setting>
    <setting propertyKey="@Properties.longitude" title="@Strings.lon">
      <settingConfig type="numeric" />
    </setting>
  </settings>
</resources>