Can one output something other than 'nan' for not a number values?

Grant Edwards grant.b.edwards at gmail.com
Sat Feb 17 15:53:26 EST 2024


On 2024-02-17, Cameron Simpson via Python-list <python-list at python.org> wrote:
> On 16Feb2024 22:12, Chris Green <cl at isbd.net> wrote:
>>I'm looking for a simple way to make NaN values output as something
>>like '-' or even just a space instead of the string 'nan'.
>>[...]
>>
>>    Battery Voltages and Currents
>>    Leisure Battery - 12.42 volts  -0.52 Amps
>>    Starter Battery -   nan volts    nan Amps
>>
>>What I would like is for those 'nan' strings to be just a '-' or
>>something similar.

> The simplest thing is probably just a function writing it how you want 
> it:
>
>      def float_s(f):
>          if isnan(f):
>              return "-"
>          return str(f)
>
> and then use eg:
>
>      print(f'value is {float_s(value)}')
>
> or whatever fits your code.

Except he's obviously using some sort of formatting to control the
number of columns and decimal places, so 'str(f)' is not going to cut
it. Is the basic floating point number formatting functionality seen
when using f-strings or '%' operator part of the float type or is it
part of the f-string and % operator?

--
Grant




More information about the Python-list mailing list