#c# #html #input #blazor
#c# #HTML #входные данные #blazor #ввод
Вопрос:
У меня есть следующие входные данные
<input type="number" @bind="@object.AllocationPercentage" />
привязка в порядке, но она показывает много цифр
Как я могу установить конкретный числовой формат, такой как «F2» или «C2»?
Я знаю, что это возможно для свиданий
использование @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;
}
}