in darabonba/number.py [0:0]
def to_number(self, value):
if isinstance(value, bool):
return 1 if value else 0
elif value is None:
return 0
elif isinstance(value, (int, float)):
return float(value)
elif isinstance(value, str):
try:
return float(value)
except ValueError:
return float('nan')
elif isinstance(value, (list, dict)):
return float('nan')
else:
return float('nan')