xamarin 掩码十进制输入允许负值

axzmvihb  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(119)

我正在使用一个Converter类来屏蔽十进制输入。它工作得很好,但是我需要允许输入负值。
如何修改此代码以接受负值?

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return Decimal.Parse(value.ToString()).ToString("#0.00");
        }

        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;
        }
pexxcrt2

pexxcrt21#

有很多方法可以解决这个问题

bool isNeg = value.ToString().Trim().StartsWith("-");

...

if (isNeg)
  return -1 * valueLong / 100m;
else
  return valueLong / 100m;

相关问题