コード例 #1
0
        internal override void validarEstaticamente()
        {
            string caracteresDelMonto = "" + valor.ConvertirADouble();
            int    posicionDelPunto   = caracteresDelMonto.IndexOf(".", StringComparison.Ordinal);

            bool existeElPuntoEnElMonto = !(posicionDelPunto == -1);

            if (existeElPuntoEnElMonto)
            {
                int  caracteresDespuesDelaPunto     = caracteresDelMonto.Substring(posicionDelPunto + 1, caracteresDelMonto.Length - (posicionDelPunto + 1)).Length;
                bool laMonedaPoseeMasDeDosDecimales = caracteresDespuesDelaPunto > 2;

                if (laMonedaPoseeMasDeDosDecimales)
                {
                    throw new LanguageException(string.Format("Las cantidades de Tipo {0} deben tener a sumo solo 2 decimales. La cifra: {1} tiene {2}.", valor.NombreDeLaMoneda(), valor, caracteresDespuesDelaPunto));
                }
            }
        }