Как я могу установить формат для входных чисел в Blazor

#c# #html #input #blazor

#c# #HTML #входные данные #blazor #ввод

Вопрос:

У меня есть следующие входные данные

 <input type="number" @bind="@object.AllocationPercentage" />
  

привязка в порядке, но она показывает много цифр

введите описание изображения здесь

Как я могу установить конкретный числовой формат, такой как «F2» или «C2»?

Я знаю, что это возможно для свиданий

использование @bind-format (формат привязки)

Комментарии:

1. Привязка данных работает со строками формата DateTime с использованием @bind:format. Другие выражения формата, такие как форматы валюты или чисел, в настоящее время недоступны.

Ответ №1:

Обходной путь мог бы быть:

 <input type="number" value="@(numberVariable.ToString("G29"))" @onchange="@(e => numberVariable = decimal.Parse(e.Value.ToString(), NumberStyles.Any, CultureInfo.InvariantCulture))" />

@code{
    private decimal numberVariable {get;set;}
}
  

По сути, вы устанавливаете значение без привязки и обновляете его во время события onchange.

Ответ №2:

В настоящее время это невозможно с помощью встроенных элементов управления Blazor. Однако он доступен в ряде сторонних библиотек. Это бесплатный формат: Radzen

Он также доступен в премиальных версиях, таких как Telerik и Syncfusion.

Ответ №3:

Я мог бы найти решение, возвращающее определенный формат в свойстве объекта.

Таким образом, я мог бы удалить 0 десятичных знаков в конце.

   private MyClass _object;

        public MyClass object
        {
            get => _object;
            set
            {
                _object = value;
                _object. AllocationPercentage = _object.AllocationPercentage / 1.000000000000000000000000000000000m;

            }
        }