File tree Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -527,8 +527,13 @@ proc format*(value: SomeFloat; specifier: string; res: var string) =
527
527
var sign = false
528
528
if value >= 0.0 :
529
529
if spec.sign != '-' :
530
- f = spec.sign & f
531
530
sign = true
531
+ if value == 0.0 :
532
+ if 1.0 / value == Inf :
533
+ # only insert the sign if value != negZero
534
+ f.insert($ spec.sign, 0 )
535
+ else :
536
+ f.insert($ spec.sign, 0 )
532
537
else :
533
538
sign = true
534
539
Original file line number Diff line number Diff line change @@ -46,3 +46,11 @@ doAssert fmt"{-1.5:0>8}" == "0000-1.5" # even that does not work for negative fl
46
46
doAssert fmt" { - 1.5 :08 } " == " -00001.5" # works
47
47
doAssert fmt" { 1.5 :+08 } " == " +00001.5" # works
48
48
doAssert fmt" { 1.5 : 08 } " == " 00001.5" # works
49
+
50
+ # only add explicitly requested sign if value != -0.0 (neg zero)
51
+ doAssert fmt" { - 0.0 :g } " == " -0"
52
+ doassert fmt" { - 0.0 :+g } " == " -0"
53
+ doassert fmt" { - 0.0 : g } " == " -0"
54
+ doAssert fmt" { 0.0 :g } " == " 0"
55
+ doAssert fmt" { 0.0 :+g } " == " +0"
56
+ doAssert fmt" { 0.0 : g } " == " 0"
You can’t perform that action at this time.
0 commit comments