【发布时间】:2022-01-26 18:33:47
【问题描述】:
我有一个货币转换器类将输入输入转换为货币。但是,我也想允许负值。
<Entry Text="{Binding Price, Converter={StaticResource currencyConverter}}" Keyboard="Numeric" Placeholder="$0.00""/>
public class CurrencyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Decimal.Parse(value.ToString()).ToString("C");
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
string valueFromString = Regex.Replace(value.ToString(), @"\D", "");
if (valueFromString.Length <= 0)
return 0m;
long valueLong;
if (!long.TryParse(valueFromString, out valueLong))
return 0m;
if (valueLong <= 0)
return 0m;
return valueLong / 100m;
}
}
【问题讨论】:
标签: c# xamarin converters