The result of format-number(0.0, '#') should be "0" but Saxon returns a zero-length string. The problem applies when the argument is the decimal, double or float value zero, but not to the integer zero. The bug is present in all known releases up to and including 188.8.131.52. A patch is being applied in Subversion on the 9.1 and 9.2 branches (module net.sf.saxon.functions.FormatNumber). A test case is being added to the W3C XSLT test suite (numberformat85).