@@ -567,9 +567,11 @@ scientifically h = do
567567 (negate $ B8.length fracDigits)
568568 step a w = a * 10 + fromIntegral (w - 48)
569569
570− s <- let dot = 46 in
571− (I.satisfy (==dot) *> (f <$> I.takeWhile isDigit_w8)) <|>
572− pure (Sci.scientific n 0)
570+ dotty <- I.peekWord8
571+ -- '.' -> ascii 46
572+ s <- case dotty of
573+ Just 46 -> I.anyWord8 *> (f <$> I.takeWhile isDigit_w8)
574+ _ -> pure (Sci.scientific n 0)
573575
574576 let !signedCoeff | positive = coefficient s
575577 | otherwise = negate $ coefficient s