Você está aqui: C# ::: Dicas & Truques ::: Rotinas de Conversão

Como converter um tipo string para um tipo decimal em C# usando o método Parse() da classe Decimal

Quantidade de visualizações: 12302 vezes
Este exemplo mostra como converter uma string em um valor do tipo decimal. Para isso nós vamos usar o método Parse() da classe Decimal da linguagem C#. No entanto, é preciso termos cuidado, pois este método pode lançar três tipos de exceções: ArgumentNullException, FormatException e OverflowException.

Veja o trecho de código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string valor_string = "530,54";
      // experimente com os valores "23,5", "arquivo" e
      // "659"

      // tenta efetuar a conversão de string para decimal
      try {
        decimal valor_decimal = decimal.Parse(valor_string);
        // exibe o resultado
        Console.WriteLine("Valor convertido com sucesso: " + valor_decimal);
      }
      catch (FormatException e) {
        // exibe a informações sobre a exceção
        // Input string was not in a correct format. 
        Console.WriteLine(e.Message);
      }

      Console.WriteLine("\n\nPressione qualquer tecla para sair...");
      // pausa o programa
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Valor convertido com sucesso: 530,54

Se tentarmos atribuir um valor string a um tipo decimal, sem efetuar a conversão, teremos o seguinte erro de compilação:

Cannot implicitly convert type string to decimal

Link para compartilhar na Internet ou com seus amigos:

Delphi ::: Dicas & Truques ::: Recursão (Recursividade)

Como escrever uma função recursiva para calcular a potência de um número em Delphi

Quantidade de visualizações: 13460 vezes
O código abaixo mostra como você pode escrever uma função recursiva em Delphi que permite calcular a potência de um número inteiro:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// uma função recursiva para elevar uma determinada
// base ao seu expoente
function potencia(base, expoente: Integer): Integer;
begin
  if expoente = 0 then
    Result := 1
  else
    Result := base * potencia(base, expoente - 1);
end;

// vamos chamar a função recursiva
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos obter o resultado de 4 elevado a 3
  ShowMessage('4 ao cubo é igual a: ' +
    IntToStr(potencia(4, 3)));
end;

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C++ ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em C++ - Como criar e usar métodos estáticos em suas classes C++

Quantidade de visualizações: 14224 vezes
Como já vimos em outras dicas desta seção, uma classe C++ possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// definição da classe Produto
class Produto{
  public:
    void setNome(string);
    string getNome();
    void setPreco(double);
    double getPreco();
  
  private:
    string nome;
    double preco;
};

Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância.

Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma.

Métodos estáticos em C++ podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

// classe Pessoa com duas variáveis privadas e 
// um método estático
class Pessoa{
  public:  
    // um método estático que permite verificar a validade
    // de um número de CPF
    static bool isCPFValido(string);
  
  private:
    string nome;
    int idade;
};

// implementação da classe Pessoa
bool Pessoa::isCPFValido(string cpf){
  // alguns cálculos aqui
  return true;
}

int main(int argc, char *argv[]){
  // vamos efetuar uma chamada ao método isCPFValido() sem
  // criar uma instância da classe Pessoa
  if(Pessoa::isCPFValido("12345")){
    cout << "CPF Válido" << endl;
  }
  else{
    cout << "CPF inVálido" << endl;
  }
    
  system("PAUSE");
  return EXIT_SUCCESS;
}

Aqui nós temos os códigos da definição e implementação da classe Pessoa em apenas um arquivo (main.cpp). Em uma aplicação real é interessante colocar estas partes em arquivos separados (.h e .cpp). Note que o método estático isCPFValido() foi declarado assim:

static bool isCPFValido(string);

Desta forma, podemos chamá-la a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja:

if(Pessoa::isCPFValido("12345")){}

É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

bool Pessoa::isCPFValido(string cpf){
  // alguns cálculos aqui
  
  // vamos acessar a variável não estática nome
  nome = "Osmar J. Silva";
  
  return true;
}

vai gerar o seguinte erro de compilação:

invalid use of member `Pessoa::nome' in static member function.

Se usarmos this->nome a mensagem de erro de compilação será:

`this' is unavailable for static member functions.

Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias.


Java ::: Tratamento de Erros ::: Erros de Tempo de Execução

Como tratar o erro StringIndexOutOfBoundsException em seus programas Java - A exceção StringIndexOutOfBoundsException da linguagem Java

Quantidade de visualizações: 11448 vezes
A exceção StringIndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de caracteres individuais em uma string, geralmente usando o método charAt. Lembre-se de que os índices dos caracteres em uma string Java começam em 0 e vão até o tamanho da string menos 1.

Antes de vermos os exemplos, observe a posição da classe pública StringIndexOutOfBoundsException na hierarquia de classes da plataforma Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

java.lang.Object
  java.lang.Throwable
    java.lang.Exception
      java.lang.RuntimeException
        java.lang.IndexOutOfBoundsException
          java.lang.StringIndexOutOfBoundsException

Esta classe implementa a interface Serializable.

Veja um trecho de código no qual fornecemos um índice de caractere inválido para o método charAt da classe String:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    String nome = "Java";     

    // vamos fornecer um índice inválido
    System.out.println(nome.charAt(4)); 

    System.exit(0);
  }
}

Compile este código e execute-o. Você verá a seguinte mensagem de erro:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Exception in thread "main" 
java.lang.StringIndexOutOfBoundsException: String 
index out of range: 4
  at java.lang.String.charAt(Unknown Source)
  at Estudos.main(Estudos.java:6)

Experimente trocar a linha:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

System.out.println(nome.charAt(4));

por:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

System.out.println(nome.charAt(3));

Compile novamente e execute. Você verá que a mensagem de erro desapareceu.


C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico

Exercício Resolvido de C++ - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C++

Quantidade de visualizações: 1257 vezes
Pergunta/Tarefa:

Escreva um programa C++ para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo.

Sua saída deverá ser parecida com:

Informe um número inteiro: 16
O número informado foi: 16
O antecessor é 15
O sucessor é: 17
Resposta/Solução:

Veja a resolução comentada deste exercício usando C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int numero, sucessor, antecessor;
  
  // vamos pedir para o usuário informar um número inteiro
  cout << "Informe um número inteiro: ";
  cin >> numero;
    
  // vamos calcular o sucessor do número informado
  sucessor = numero + 1;
    
  // vamos calcular o antecessor do número informado
  antecessor = numero - 1;
    
  // e agora mostramos os resultados
  cout << "O número informado foi: " << numero << endl;
  cout << "O antecessor é " << antecessor << endl;
  cout << "O sucessor é: " << sucessor << endl;
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}



Java ::: Pacote java.lang ::: String

Java para iniciantes - Como verificar se duas strings são iguais ou diferentes usando os métodos equals() e equalsIgnoreCase() da classe String

Quantidade de visualizações: 4008 vezes
Podemos verificar se duas strings são iguais ou diferentes em Java usando os métodos equals() e equalsIgnoreCase(). O método equals() recebe um objeto do tipo String e o compara com o String atual. Veja sua assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public boolean equals(Object anObject)

O resultado será true se as duas strings forem iguais e false em caso contrário. Note que equals() diferencia letras maiúsculas e letras minúsculas. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Estudos{
  public static void main(String[] args) {
    String palavra1 = "Java";
    String palavra2 = "java";
    
    // vamos verificar se as duas strings são iguais
    if(palavra1.equals(palavra2)){
      System.out.println("As duas strings são iguais");
    }
    else{
      System.out.println("As duas strings são diferentes");  
    }
  }
}

Ao executar este código nós teremos o seguinte resultado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

As duas strings são diferentes

O método equalsIgnoreCase(), por sua vez, não diferencia letras maiúsculas de letras minúsculas. Veja o exemplo anterior usando o método equalsIgnoreCase():

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Estudos{
  public static void main(String[] args) {
    String palavra1 = "Java";
    String palavra2 = "java";
    
    // vamos verificar se as duas strings são iguais
    if(palavra1.equalsIgnoreCase(palavra2)){
      System.out.println("As duas strings são iguais");
    }
    else{
      System.out.println("As duas strings são diferentes");  
    }
  }
}

Ao executarmos este código o resultado será:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

As duas strings são iguais



Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 75 usuários muito felizes estudando em nosso site.