@using System.Globalization
@code {
[Parameter]
public string CssClass { get; set; } = "";
[Parameter]
public string DisplFormat { get; set; } = "0.000";
[Parameter]
public decimal Value
{
get => decimalVal;
set => decimalVal = value;
}
///
/// Scan result callback method
///
[Parameter]
public EventCallback 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");
}