code: def format_number(x):
      
  
      if isinstance(x, float):
          # Helps prevent loss of precision as using str() in Python 2 only prints 12 digits of precision.
          # However, IEEE754-1985 standard says that 17 significant decimal digits is required to adequately represent a
          # floating point number.
          # The g option is used rather than f because g precision uses significant digits while f is just the number of
          # digits after the decimal. (NRRD C implementation uses g).
          value = '{:.17g}'.format(x)
      else:
          value = str(x)
  
      return value
docs: Format number to string
  
      Function converts a number to string. For numbers of class :class:`float`, up to 17 digits will be used to print
      the entire floating point number. Any padding zeros will be removed at the end of the number.
  
      See :ref:`user-guide:int` and :ref:`user-guide:double` for more information on the format.
  
      .. note::
              IEEE754-1985 standard says that 17 significant decimal digits are required to adequately represent a
              64-bit floating point number. Not all fractional numbers can be exactly represented in floating point. An
              example is 0.1 which will be approximated as 0.10000000000000001.
  
      Parameters
      ----------
      x : :class:`int` or :class:`float`
          Number to convert to string
  
      Returns
      -------
      vector : :class:`str`
          String of number :obj:`x`