When I use widget for voice search and say 'weather' I get the results, but it is shown in Fahrenheit, even though,in settings it is chosen to show in Celsius.
This problem apparently is due to the device language selection.
If English (US) is chosen, Google defaults to temperature units used in US (Fahrenheit)
This is remedied by switching over to English (UK), where temperature units are in Celsius
The other answer on this question didn't work for me. My phone was already on English (UK) and changing it to US and back did not help.
Instead what fixed it for me was:
Touch the little red 'F' to the upper right of the days temperature (that's in big black bold numbers) next to the big numbers at the upper right.
There is a little blue 'C' for Celsius then a slash and a little red 'F' for Fahrenheit, and it will switch back to Fahrenheit or Celcius by touching either one of those little letters.