【发布时间】:2020-09-18 16:20:51
【问题描述】:
我正在使用以下代码来屏蔽货币的输入字段。唯一的问题是我想将输入限制为小数点后 2 位。我怎样才能修改代码来完成这个?
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;
}
}
【问题讨论】:
-
您想阻止用户输入超过 2 位小数,还是只想舍入/截断他们输入的任何内容?
-
我要防止他们输入超过 2 位小数
-
不确定这是否可行,但我首先会尝试将结果四舍五入到小数点后两位
-
@christinapapaaa11 看看我的answer 可能会对您的情况有所帮助。
-
可以吗?
标签: c# xaml xamarin ivalueconverter