from django import forms


class DecimalN0Input(forms.TextInput):

    def format_value(self, value):
        if value in (None, ''):
            return ''

        try:
            return f'{float(value):,.0f}'
        except (ValueError, TypeError):
            return str(value)

    def value_from_datadict(self, data, files, name):
        value = data.get(name)

        if value:
            value = value.replace(',', '')

        return value