java DecimalFormat: leading zero when negative

I need to display a lat/long with 4 significant digits after the decimal, an at least 1 significant digit before the decimal. The code below works great until you get a lat/long where the value is less than 1, such as London (51.507383, -0.127613), it returns: “51.5073, -.1276” and I would like to get: “51.5073, -0.1276”. Likewise, I would like (51.507383, 0.127613) to give me “51.5073, 0.1276”. Anyone have a hint for me?

DecimalFormat df = new DecimalFormat("0.0000");
String latlngStr = df.format(latitude) + ", " + df.format(longitude);