Blazor форматирует InputType of Numeric

Кто-нибудь знает, как отформатировать числовой тип, чтобы он выглядел как 100.10? В настоящее время, если значение равно 100,10, оно будет отображаться как 100,1.

попробовал @ bind-value: format с C2, 0: 0. ##, я новичок в Blazor, поэтому, если бы кто-нибудь мог указать мне в правильном направлении, это было бы признательно.

<BSBasicInput InputType="InputType.Number" @bind-Value="@Amount" step="0.01" />

person Danno    schedule 28.05.2020    source источник


Ответы (1)


Если вы привяжетесь к decimal, кажется, что он сохранит количество десятичных знаков, которое вы укажете для значения, даже обучающие нули.

@page "/"
<EditForm Model=@Account>
    <InputNumber @bind-Value=Account.Balance/>
    <button>Submit</button>
</EditForm>

@code
{
    BankAccount Account = new BankAccount();

    public class BankAccount
    {
        public decimal Balance { get; set; } = 23.300;
    }
}

Для поплавков и удвоений я ожидал, что сработает следующее:

<InputNumber @bind-Value=Account.Balance @bind-Value:format="F2"/>

Но похоже, что поддерживаются только DateTime и DateTimeOffset, что очень досадно.

В Blazor University есть пример, показывающий, как спуститься с InputBase, чтобы создать свои собственные элементы управления вводом. Было бы довольно просто реализовать элемент управления, который учитывает формат.

https://blazor-university.com/forms/descending-from-inputbase/ < / а>

person Peter Morris    schedule 28.05.2020
comment
Сначала он сохраняет десятичные дроби, но если щелкнуть стрелку вверх, и он сделает шаг 0,01 от 101,09 до 101,10, тогда конечный ноль исчезнет. - person Danno; 04.06.2020