Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IgorMarcante

Formatação de numeros

Recommended Posts

Bom dia, estou com um pequeno problema para formatação de numeros do tipo double. Preciso deixa-los sempre com 4 casas após a virgula. Atualmente faço assim:

 

double teste = 14.686431;
double formatado = Math.Round(teste,4);
Saida=14.6864
Funciona perfeitamente, porém caso a entrada seja um numero assim: 14.500000, a saida é 14.5. O que eu to precisando é que sempre contenha 4 numeros apos a virgula, caso o numero seja 14.0, gostaria que completasse com 0 até dar os 4(a saida seria 14.0000). Alguém saberia me responder essa duvida? De preferencia de uma forma bem simples..(Procurei soluções mas n encontrei, atualmente faço uma #@?$%~ gambiarra para fazer esse processo.)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se vc quer manter sempre quatro sempre terá que converter para string, pode fazer assim: formatado.ToString("N4")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quer manter sempre quatro sempre terá que converter para string, pode fazer assim: formatado.ToString("N4")

 

Cara, valeu mesmo... Era exatamente isso que eu estava precisando.. Eu tava fazendo uma puta gambiarra aqui,kkk.. Obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Caio Henrique Bottigelli
      Olá, estou desenvolvendo um sistema em asp.net Framework MVC, usando o banco de dados Postgresql. Quando 2 usuários diferentes usam o sistema acontece conflito de informações, por exemplo, no cadastro de clientes, preciso vincular uma pessoa a um determinado cliente, caso 2 usuários estiverem usando, e os 2 fizerem essa ação de vincular pessoas a um cliente, no 2º usuário vai aparecer a pessoa que o 1º usuário vinculou. É como se o sistema estivesse usando uma única Lista e os 2 usuários estivessem compartilhando essa lista.
      As variáveis de conexão não estão estáticas, toda vez que alguém entrar no sistema, vai ser criado uma nova instancia de conexão.
      Alguém sabe como resolver esse conflito de informação entre usuários?
    • Por luizpaps
      Boa tarde, tenho um winform com tabcontrol e 2 tabpages, na tabpage1 tenho um combobox vinculado ao banco MySql, quando seleciono um registro no combobox ele preenche os textbox da tabpage1 com os dados relativo àquele registro do banco, mas quando clico na tabpage2 para preencher outros textbox adicionais que não dependem do banco e volto para tabpage1, todos os textbox são apagados e o combobox fica desvinculado do banco, sem itens, alguém pode me ajudar a resolver esse problema? o código que uso para carregar o combobox está abaixo:
      public void CarregaComboServidores() { try { if (cn.State == ConnectionState.Closed) cn.Open(); } catch (Exception ex) { MessageBox.Show("Erro ao Carregados dados da Tabela tservidores " + ex.Message + " contate o desenvolvedor", "SysDiárias - Erro de Conexão", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { string mSQLServidores = "select * from tservidores"; MySqlCommand cmdServidores = new MySqlCommand(mSQLServidores, cn); MySqlDataAdapter mdaServidores = new MySqlDataAdapter(cmdServidores); DataTable dtServidores = new DataTable(); cmbNome.DataSource = null; cmbNome.Items.Clear(); mdaServidores.Fill(dtServidores); cmbNome.DataSource = dtServidores; cmbNome.ValueMember = "idservidor"; cmbNome.DisplayMember = "nome"; cmbNome.SelectedIndex = (-1); cmbNome.Refresh(); if (cn.State == ConnectionState.Open) cn.Close(); } }  
    • Por Querendo_ser_Nerd
      Bom dia , 
       
      Pessoal, realizei diversas pesquisas em Fórum e Artigos, meu caso seria, criei uma aplicação na qual realiza a importação de arquivo em XLS em um DataGridView , está carregando a informação a principio em uma coluna (Duvida as colunas no Excel algumas contem sinais e espaço como "Cód. Cliente" como faço select * from [plan1$] para retornar apenas pela posição da coluna ex. select [A1] from [plan1$] ) , certo , carreguei no DataGrid, creei um botão para carregar as informações do data grid para o BD Oracle, passei toda a configuração conexão e realizei o INSERT , mas não popula com as informações do grid na tabela, apenas quando no INSERT ...Values (1) por exemplo o mesmo inseri o valor na tabela no banco. Já realizei a depuração mas não consigo. Sou novo nessa linguagem. Obg pela Ajuda.
       
      using System; using System.Data; using System.Data.OleDb; // intregração Excel using System.Data.OracleClient; using System.Windows.Forms; namespace WindowsFormsLog {     public partial class Form4 : Form     {                  public Form4()         {             InitializeComponent();         }         private void button1_Click(object sender, EventArgs e)         {             OpenFileDialog openFileDialog = new OpenFileDialog();             if(openFileDialog.ShowDialog()== System.Windows.Forms.DialogResult.OK)             {                 this.textBox1.Text = openFileDialog.FileName;             }         }                 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)         {                     }         public void button2_Click_1(object sender, EventArgs e)         {              string PathCpnn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + textBox1.Text + ";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1';";             OleDbConnection conn = new OleDbConnection(PathCpnn);             //LINQ c#              OleDbDataAdapter myDbDataAdapter = new OleDbDataAdapter("Select *  from [Plan1$]", conn); // planilha deve conter o nome Plan1             DataTable dt = new DataTable(); // armazena dado               myDbDataAdapter.Fill(dt);               dataGridView1.DataSource = dt;             dataGridView1.Columns[0].HeaderText = "NROPEDCLIENTE"; //alterando nome das colunas             //  dataGridView1.Columns[1].HeaderText = "DTAINCLUSAO";                  }             private void Form4_Load(object sender, EventArgs e)         {         }         public void button3_Click(object sender, EventArgs e)         {             string OracleConn = @"Data Source = ok; User ID =ok ; Password = ok; Unicode = True";             OracleConnection conexao = new OracleConnection(OracleConn);                          try             {                                if (dataGridView1.Rows.Count > 1)                 {                     for (int i = 1; i <= dataGridView1.Rows.Count ; i++)//-1                     {                         int dataGridView1 = Convert.ToInt32(this.dataGridView1.Rows[i].Cells[0].Value);                         conexao.Open();                         OracleCommand comando = new OracleCommand ("insert into pedido values(@NROPEDCLIENTE)", conexao);                           comando.Parameters.AddWithValue("NROPEDCLIENTE", dataGridView1);                                             comando.ExecuteNonQuery();                         MessageBox.Show("Insert");                         conexao.Close();                     }                 }             }             catch (Exception)             {                 MessageBox.Show("Erro ao inserir"); // Sempre finaliza aqui depuração             }                      }                }     }
          
    • Por JhoniWillian
      Boa Tarde Galera,
       
      Estou com um problema ao converter um campo varchar criado no SQL Server ao consultar via Query dentro do c#.
       
      Se eu pego a query:
       
      SELECT IndProd1 as OP, Lx_Item as Item, Lx_Operacao as Operacao, DataLimite, Lx_LinhaReceita as Cliente, OpProgramada As OpProgramada FROM Production WHERE Lx_Operacao = '00025' AND Lx_CodEtapa = 'P' AND Lx_LinhaReceita = 'CATERPILLAR' AND CONVERT(DATETIME,DataLimite) = '01/12/2017' AND CONVERT(DATETIME,DataLimite) = '30/01/2018' //+ "AND DataLimite = '30/01/2018' " AND (DataLimite <> '---') AND DataLimite IS NOT NULL AND Inativo<>'E' AND PlanQty>(QtyPeca+QtySucata) ORDER BY startptrcol DESC,PlanDateEnd, Lx_Pedido, IndProd1, Indprod3 e jogo dentro do Banco SQL Server, ele me trás os resultados, nesse exemplo ai, esta me trazendo 5 linhas de resultados. Porém, quando faço via query dentro do c# para preencher um DataGrid, ele está dando esse erro: Additional information: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
       
      OBS: Se em vez de colocar a sequencia de datas eu colocar somente o 'AND DataLimite = '30/01/2018' ele me trás o resultado, porém, somente do dia do filtro e precisava que fosse entre esse intervalo.
       
      O que posso estar errando galera? a query dentro do c# ta assim:
       
      string strSql = "SELECT IndProd1 as OP, Lx_Item as Item, Lx_Operacao as Operacao, DataLimite, Lx_LinhaReceita as Cliente, OpProgramada As OpProgramada FROM Production " + "WHERE Lx_Operacao = '00025' " + "AND Lx_CodEtapa = 'P' " + "AND Lx_LinhaReceita = 'CATERPILLAR' " + "AND CONVERT(DATETIME,DataLimite) = '29/01/2018' " + "AND CONVERT(DATETIME,DataLimite) = '30/01/2018' " //+ "AND DataLimite = '30/01/2018' " + "AND (DataLimite <> '---') " + "AND DataLimite IS NOT NULL " + "AND Inativo<>'E' " + "AND PlanQty>(QtyPeca+QtySucata) " + "ORDER BY startptrcol DESC,PlanDateEnd, Lx_Pedido, IndProd1, Indprod3;"; //cria o objeto command para executar a instruçao sql OleDbCommand cmd = new OleDbCommand(strSql, conn_mes); //define o tipo do comando cmd.CommandType = CommandType.Text; //cria um dataadapter OleDbDataAdapter da = new OleDbDataAdapter(cmd); //cria um objeto datatable DataTable ops = new DataTable(); //preenche o datatable via dataadapter da.Fill(ops); //atribui o datatable ao datagridview para exibir o resultado dvgOpProgramada.DataSource = ops;  
    • Por rafaelsouzab
      Olá,
       
      Estou tentando de algumas formas porem não estou chegando no resultado adequado, tenho um gridview que a primeira coluna é do tipo checkbox para poder "selecionar" a linha....
      eu gostaria que o usuário pudesse selecionar apenas 1 checkbox dentro desse grid view ou que fosse desmarcado os checkbox que estivessem marcados.

      Alguma sugestão...
       
      A base para percorrer o grid view seria esta....
       
      porem não sei em qual evento colocar ou de que forma usar para chegar no resultado esperado...
       
       
      foreach (GridViewRow row in gvUsuarios.Rows)             {                 if (row.RowType == DataControlRowType.DataRow)                 {                     CheckBox chkRow = (row.Cells[0].FindControl("chkUser") as CheckBox);                     if (chkRow.Checked)                     {                                                                     }                 }             }  
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.