diff --git a/src/lsp/format.lsp b/src/lsp/format.lsp index e5cc87663..a5f18c565 100644 --- a/src/lsp/format.lsp +++ b/src/lsp/format.lsp @@ -99,11 +99,11 @@ (declare (type float x)) (cond ((zerop x) ;; Zero is a special case which FLOAT-STRING cannot handle. - (if fdigits + (if (and fdigits (/= fdigits 0)) (let ((s (make-string (1+ fdigits) :initial-element #\0))) (setf (schar s 0) #\.) - (values s (length s) t (zerop fdigits) 0)) - (values "." 1 t t 0))) + (values s (length s) t nil 0)) + (values ".0" 2 t nil 0))) (t (multiple-value-bind (e string) (cond