-3

私はこれを次のような文字列値で行いました 65.34, 65,45, 34.45

すべてがTrueを返します...

public void test()
{
   string value = "65" 0r "65.0" 0r "1,234.54";
   decimal number;

   if (Decimal.TryParse(value, out number))
      MessageBox.Show(value);
   else
      MessageBox.Show("Unable to parse '{0}'.", value);
 }

これはすべて Decimal を返します ..

         If I type "0.65" .. I need to show error and it i type "65" it has to be exectued.
4

1 に答える 1

0

2つのオプションがあります

1.正規表現を使用する

また

2.以下の方法で小数点以下の桁数を求めます

 static decimal CountDigitsAfterDecimalPoint(decimal decimalNumber)
        {
            int[] bits = Decimal.GetBits(decimalNumber);
            int exponent = bits[3] >> 16;
            int result = exponent;
            long lowDecimal = bits[0] | (bits[1] >> 8);
            while ((lowDecimal % 10) == 0)
            {
                result--;
                lowDecimal /= 10;
            }

            return result;
        }
于 2012-10-26T05:25:51.413 に答える