private Expresion ParseMonto() { Monedas tipoActual = Monedas.obtenerTipoDeMonto(new Hilera(lexer.tokenActual.Valor)); Hilera unidadMonetaria; double cantidad; string simbolo = tipoActual.nombre(); unidadMonetaria = new Hilera(simbolo); cantidad = double.Parse(lexer.tokenActual.Valor.Substring(simbolo.Length)); Expresion resultado = new LiteralMoneda(ParserValidation.validacionMoneda(unidadMonetaria, cantidad, lexer)); lexer.Aceptar(); return(resultado); }
public static Moneda validacionMoneda(Hilera unidadMonetaria, double cantidad, Lexer lexer) { Moneda moneda; bool esUnaMonedaNuestra = Monedas.contieneLaMoneda(unidadMonetaria.Valor); if (esUnaMonedaNuestra) { Monedas tipo = Monedas.valueOf(unidadMonetaria.Valor.ToUpper()); moneda = new Denominacion(new Decimal(cantidad), tipo); } else { throw new LanguageException(string.Format("Se esta tratando de ingresar un monto en {0} economia, la cual el sistema no soporta.", unidadMonetaria)); } return(moneda); }
public ArchivoDelFileServer(Hilera nombreGenerado, Hilera nombreOriginal, Numero longitud) { base.setAtributoFijo(NOMBREGENERADO, nombreGenerado); base.setAtributoFijo(NOMBREORIGINAL, nombreOriginal); base.setAtributoFijo(LONGITUD, longitud); }