Calcolare minuti totali e costo totale

di il
2 risposte

Calcolare minuti totali e costo totale

Ciao a tutti,

Ho provato tante volte ma non riesco.

Ci sono due orari:

Il primo orario: 12:30
Il secondo orario: 12:45
costo: 5 euro

Come faccio a calcolare i minuti totali?

minuti totali = ???
costo totale = minuti totali * 5;

<form  (ngSubmit)="f.form.valid && onSubmit()" #f="ngForm"  novalidate>
 <div class="col">  
          <label class="form-label" for="form6Example3">Ora inizio</label>
          <input type="time"  class="form-control" id="oraInizio"  [(ngModel)]="tel.oraInizio" name="oraInizio"   required/>    
        </div>
        <div class="col">  
          <label class="form-label" for="form6Example3">Ora fine</label>
          <input type="time"  class="form-control" id="oraFine"  [(ngModel)]="tel.oraFine" name="oraFine"   required/>    
        </div>
 <button class="btn btn-primary mr-1 mb-1" type="submit" >Salva</button>
 </form>
oggetto telefonate:

export class Telefonate {
   oraInizio:string = "";
    oraFine:string = "";
}
mi potete dire come posso fare?aiutatemi con il codice in typescript

2 Risposte

  • Re: Calcolare minuti totali e costo totale

    imparareJava ha scritto:


    Ho provato tante volte ma non riesco. [...]
    Pubblica il codice di uno dei tanti tentativi che hai fatto, così lo commentiamo.
  • Re: Calcolare minuti totali e costo totale

    
    export class Telefonate {
        oraInizio:string = "";
        oraFine:string = "";
    }
    

    TypeScript component.ts
    
    calcoloMinuti():number{
         var totalMinuti = 0;
         var totalOre = 0;
         var totaleOreMinuti = 0;
         
        var posizioneOra:number = Number(this.tel.oraInizio.substring(0,2));
        console.log("ora finale" + posizioneOra);
        var posizioniMinuti:number = Number(this.tel.oraInizio.substring(3,5));
        console.log("ora iniziale" + posizioniMinuti);
        var posizioneSecondaOra:number = Number(this.tel.oraFine.substring(0,2));
        console.log("ora finale" + posizioneSecondaOra);
        var posizioneSecondaMinuti:number = Number(this.tel.oraFine.substring(3,5));
        console.log("ora iniziale" + posizioneSecondaMinuti);
        totalMinuti = (posizioneSecondaMinuti -  posizioniMinuti) / (1000 * 60) % 60;
        totalOre =  (posizioneSecondaOra - posizioneOra) / (1000 * 60 * 60) % 24;
        totaleOreMinuti = Math.abs(totalOre + totalMinuti);
        
    
        console.log(posizioneOra);
        console.log(posizioniMinuti);
        console.log(posizioneSecondaOra);
        console.log(posizioneSecondaMinuti);
        console.log("minuti" + totalMinuti);
        console.log("ore" + totalOre);
        return totaleOreMinuti;
       }
    
       calcoloCostoAlMinuto():number{
        var costoTotaleAlMinuto = 0;
        costoTotaleAlMinuto = this.calcoloMinuti() * 5;
        return costoTotaleAlMinuto;
       }
    
    Html
    
    
    <div class="col">  
              <label class="form-label" for="form6Example3">Ora inizio</label>
              <input type="time"  class="form-control" id="oraInizio"  [(ngModel)]="tel.oraInizio" name="oraInizio"   required/>    
            </div>
            <div class="col">  
              <label class="form-label" for="form6Example3">Ora fine</label>
              <input type="time"  class="form-control" id="oraFine"  [(ngModel)]="tel.oraFine" name="oraFine"   required/>    
            </div>
            </div>
    <div style="text-align: right;">Totale Minuti: {{calcoloMinuti()}} -- Totale costo 5 euro al minuto: {{calcoloCostoAlMinuto()}} </div> 
    
    In questo modo mi funziona, però il calcolo dei minuti e ore che non mi convice

    esempio:
    12:30 fino alle 13:40
    devo calcolare in totale quanti minuti corrispondono dalle 12:30 fino alle 13:40
    Totale minuti: xxx
    Costo 5 euro al minuto: xxxxx
Devi accedere o registrarti per scrivere nel forum
2 risposte