	/*
	*	Converte um COMP-3 para uma String ASCII
	*	Se o numero for negativo insere "-" no inicio da String.
	*
	*	COMP3		String		Argumento contendo o "decimal packed"
	*	decimal		int			Quantidade de casas decimais
	*/
	public static String DecimalPacked2ASCII(String COMP3, int decimal) 
		throws NumberFormatException {

		byte decimaisPacked[] = comp3.getBytes();
		StringBuffer valor = new StringBuffer();
		int decimalPacked;

		for (int x = 0 ; x < comp3.length() ; x++ )
		{
			decimalPacked = decimaisPacked[x];

			valor.append( Integer.toHexString( decimalPacked ).toUpperCase() );

		}

		// Extrai e exclue sinal
		char sinal = valor.charAt( valor.length() - 1 );
		valor.deleteCharAt( valor.length() - 1 );

		// Verifica se a string contem somente numeros. Será lançada uma exceção se for invalido
		new Integer(valor.toString());

		// Insere ponto decimal na string
		if ( decimal != 0)
		{
			valor.insert( (valor.length() - decimal ), "." );
		}
		
		// Verifica se o sinal é valido. Se não for válido lança um exceção
		NumberFormatException NAN = new NumberFormatException("Valor invalido");
		switch (sinal)
		{
			case 'B':	valor.insert( 0, "-" );
						break;

			case 'D':	valor.insert( 0, "-" );
						break;

			case 'A':	throw NAN;

			case 'E':	throw NAN;

		}

		return valor.toString();
	}

