It's SharePoint's CAML queries' way of working with calculated fields.
This problem is described in https://deannaschneider.wordpress.com/2012/07/06/associated-calculated-columns-in-reusable-workflows-sp2010/ and http://sharepoint.stackexchange.com/questions/142408/float22-0000000000000-number-returned-from-caml-query

The straightforward workaround is to re-implement same calculations in the workflow once again.

Or you can create a workflow variable `tempVar` and set it's value to `CurrentItem:No. of Days (as string)`, then use some [Utility actions](https://msdn.microsoft.com/en-us/library/office/jj164026.aspx) to get that 22 out of the string. Something like [`Extract Substring of String from Index with Length`](http://www.c-sharpcorner.com/blogs/sharepoint-designer-2013-extract-substring-of-string-from-index-with-length-action) with args of `tempVar`, `7` and (the position of `.` char minus 7) will work. To find the position of `.`, use [`Find Substring in String`](http://www.c-sharpcorner.com/blogs/sharepoint-designer-2013-find-substring-in-string-action). This will cut out `22` (basically, all chars between `#` and `.`) and put it in `tempVar`, so you can use it in emails.