@@ -275,6 +275,7 @@ fn transform_to(
275275 opts : & TransformOptions ,
276276 round_method : RoundMethod ,
277277 precision : usize ,
278+ unit_separator : & str ,
278279) -> Result < String > {
279280 let ( i2, s) = consider_suffix ( s, & opts. to , round_method, precision) ?;
280281 let i2 = i2 / ( opts. to_unit as f64 ) ;
@@ -286,10 +287,15 @@ fn transform_to(
286287 )
287288 }
288289 Some ( s) if precision > 0 => {
289- format ! ( "{i2:.precision$}{}" , DisplayableSuffix ( s, opts. to) , )
290+ format ! (
291+ "{i2:.precision$}{unit_separator}{}" ,
292+ DisplayableSuffix ( s, opts. to) ,
293+ )
294+ }
295+ Some ( s) if i2. abs ( ) < 10.0 => {
296+ format ! ( "{i2:.1}{unit_separator}{}" , DisplayableSuffix ( s, opts. to) )
290297 }
291- Some ( s) if i2. abs ( ) < 10.0 => format ! ( "{i2:.1}{}" , DisplayableSuffix ( s, opts. to) ) ,
292- Some ( s) => format ! ( "{i2:.0}{}" , DisplayableSuffix ( s, opts. to) ) ,
298+ Some ( s) => format ! ( "{i2:.0}{unit_separator}{}" , DisplayableSuffix ( s, opts. to) ) ,
293299 } )
294300}
295301
@@ -317,6 +323,7 @@ fn format_string(
317323 & options. transform ,
318324 options. round ,
319325 precision,
326+ & options. unit_separator ,
320327 ) ?;
321328
322329 // bring back the suffix before applying padding
0 commit comments