My comment (if I remember correctly) was that numbers with 1 as numerator was kept as a rational numbers, others converted to float. It’s hard for me looking at your examples if there is a flaw in that logic, but please open a GitHub issue if you think it is. I mostly used a gallery from my Pentax K3 camera to get something that looked sensible.
If your camera saves them as 0.016666666666666666 how would Hugo (Go) know that they could be represented as rational numbers? They seem to actually be NOT rational numbers in the EXIF fields. It’s about what they are, not what they might represent at that point.
{{ with resources.Get "a.jpg" }}
{{ with .Exif }}
{{ with .Tags.ExposureTime }}
{{ partial "format-exposure-time.html" . }}
{{ end }}
{{ end }}
{{ end }}
If it’s stored as a rational, print as-is.
If it’s stored as a float that is really a rational, convert it to a rational (depends on precision value).
Otherwise display it as a formatted float.