Files
2024-01-22 09:52:50 +01:00

43 lines
1.0 KiB
Plaintext

@using System.Globalization
<input @bind="DisplValue" type="number" class="@CssClass" />
@code {
[Parameter]
public string CssClass { get; set; } = "";
[Parameter]
public string DisplFormat { get; set; } = "0.000";
[Parameter]
public decimal Value
{
get => decimalVal;
set => decimalVal = value;
}
/// <summary>
/// Scan result callback method
/// </summary>
[Parameter]
public EventCallback<decimal> ValueChanged { get; set; }
protected string DisplValue
{
get => decimalVal.ToString(DisplFormat, culture);
set
{
if (Decimal.TryParse(value, style, culture, out var number))
{
decimalVal = Math.Round(number, 3);
ValueChanged.InvokeAsync(decimalVal);
}
}
}
private decimal decimalVal { get; set; } = 0;
private NumberStyles style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign;
private CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");
}