Estou fazendo 1 programa para poder contrar os seus gastos mensais.
Neste programa terá uma tabela contendo as tabelas que devem ser geradas automaticas quando o cliente digitar o numero de parcelas a ser agendado, como devo fazer alguém sabe me dizer?
agendamento.setQuantidade_parcelas(Integer.parseInt(textFieldParcelas.getText()));//Comando para gerar as parcelas.intx=Integer.parseInt(textFieldParcelas.getText());for(inti=x;i<=x;i++){
Estou fazendo 1 programa para poder contrar os seus gastos mensais.
Neste programa terá uma tabela contendo as tabelas que devem ser geradas automaticas quando o cliente digitar o numero de parcelas a ser agendado, como devo fazer alguém sabe me dizer?
agendamento.setQuantidade_parcelas(Integer.parseInt(textFieldParcelas.getText()));
//Comando para gerar as parcelas.
int x = Integer.parseInt(textFieldParcelas.getText());
for (int i = x; i<=x; i++){
}
Divida de forma inteira o valor pelo numero de parcelas em forma de centavos. Adicione o resto na primeira parcela. Use BigDecimal ou BigInteger
Exemplo
Bom dia amigo, estou precisando de uma forcinha para realizar um o precedimento de calcular parcelas, navegando no fórum encontrei uma participação sua o link esta logo abaixo http://www.guj.com.br/java/105057-comando-para-gerar-parcelas
Esse é meu código q estou usando para efetuar o calculo ate esta funcionando o problema é q devido alguns valores possuir resto sempre fica com uma divergência na parcela como eu poderia resolver esse problema, o valor q vem do txt_vlr_crediario.getText() já dividido
case"NOTA A PRAZO":doublevlr_crediario=Ulti.formatarValor(txt_vlr_crediario.getText());intmes=0;intnum=(int)js_parc_crediario.getValue();intinter=(int)js_intervalor_crediario.getValue();Calendardt=newGregorianCalendar();dt.setTime(data_venda);if(vlr_crediario<=0){Msg.mensagemAvisa(this,"valor de pagamento inválido!");txt_vlr_crediario.requestFocusInWindow();}else{while(mes<num){dt.add(GregorianCalendar.DATE,+inter);TipoPgtoModelcred=newTipoPgtoModel();cred.setId_pessoa(Integer.parseInt(txt_id_cliente.getText()));cred.setId_venda_cab(num_vemda);cred.setFlag("V");cred.setEmissao(data_venda);cred.setVlr_total(subTotal);cred.setVlr_des_acr(desconto);cred.setVlr_apagar(vlr_crediario);cred.setVencto(dt.getTime());cred.setN_parcela(String.valueOf("1"+"/"+(mes+1)));cred.setVlr_parcela(vlr_crediario);cred.setTipo_pgto(2);cred.setForma_pgto(comboFormaPgto.getSelectedItem().toString());cred.setId_usuario(id_func);cred.setId_info_caixa(id_info_caixa);//para exibição da tabela forma pgtocred.setVlr(txt_vlr_crediario.getText());cred.setData_venc(newSimpleDateFormat("dd/MM/yyyy").format(dt.getTime()));listaFormaPgto.add(cred);preencherTabelaFormaPgto();++mes;// system_out_print(cred);}txt_vlr_crediario.setText(Ulti.dF.format(-restante()));}break;
S
sergiotaborda
adsadilson:
Bom dia amigo, estou precisando de uma forcinha para realizar um o precedimento de calcular parcelas, navegando no fórum encontrei uma participação sua o link esta logo abaixo
Esse é meu código q estou usando para efetuar o calculo ate esta funcionando o problema é q devido alguns valores possuir resto sempre fica com uma divergência na parcela como eu poderia resolver esse problema, o valor q vem do txt_vlr_crediario.getText() já dividido ]
Suponha que tem 5 para dividir por 3. Você tem que dividir primeiro equatativamente. fica
1 1 1
depois o que sobra
1 1
e somar. fica
2 2 1
Repare que como vc lida com o resto é uma regra de negocio. Normalmente o que sobre é colocado na primeira ou na ultima parcela então 5 distribuído por 3 fica
3 , 1 , 1
ou
1, 1 , 3
Leia isto sobre o padrão money para entender melhor como funciona e como encapsular essas operações num objeto