For the string formatting you need to put it including the “f” into the sitemap file.
As for the value zero, switch on debug logging for the binding an check whether the actual temp is zero or not. It could still be in Celsius and it is winter ( at least on the northern hemisphere )
Not sure whether this is a local issue only, but yahoo weather never reported reliably in my case (using yahooweather) meaning that there were hours were Yahoo did not respond and times were it worked. The service interruptions were with Yahoo only and not an internet issue. Switched to other providers and the problem was gone. I took it as a problem with Yahoo rather than OH or its bindings.