Hello, <br>I'm new here nice library<br><br>I'd like to point out some possible implementations:<br><br>the possibility to not specify the decimal digits:<br><br>(defun format-number (stream arg no-dp no-ts<br> &optional (locale (current-locale)))<br>
(let ((locale (locale locale))<br> (float-part (float-part (coerce (abs arg) 'double-float))))<br> (cl:format stream <br> (getf (printers locale)<br> (if no-ts :number-no-ts :number-ts))<br>
(get-sign arg locale)<br> (truncate (abs arg))<br> (unless (and (string= "" float-part) no-dp)<br> (list (locale-decimal-point locale)<br> (if *float-digits*<br>
(fix-float-string float-part *float-digits*)<br> float-part))))<br> (values)))<br><br><br>this will permit the following:<br><br>CL-L10N> (let ((cl-l10n:*locale* "it_CH")(cl-l10n:*float-digits* nil)) (format nil "~:/cl-l10n:format-number/" (coerce 1/100000000000000000000000000000000 'double-float)))<br>
"0,00000000000000000000000000000001"<br><br>Secondly it_IT is missing:<br>a solution should be if "it_XX" is not found use the locale "it"<br><br>and if "xx_XX" and "xx" doesn't exist use the "en" locale.<br>
<br>Let me know,<br>cheers<br><br>kiuma<br>