Autore Topic: Percentuali  (Letto 2500 volte)

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Percentuali
« il: 03 Maggio 2023, 17:03:25 »
Creo un textbox e scrivo un operazione per esempio:

5+5+10%-1+400-10%

se la scrivo senza risultati mi da il totale ma se la scrivo per calcolare anche le percentuali mi va in errore, quinddi non accetta le le percentuali.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Percentuali
« Risposta #1 il: 03 Maggio 2023, 17:12:57 »
Creo un textbox e scrivo un operazione per esempio:

5+5+10%-1+400-10%

se la scrivo senza risultati mi da il totale ma se la scrivo per calcolare anche le percentuali mi va in errore, quinddi non accetta le le percentuali.

Senza il tuo codice, non posso risponderti  :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Percentuali
« Risposta #2 il: 03 Maggio 2023, 17:17:02 »
In un form ho messo un textbox con all' interno ho scritto:

5+5+10%-1+400-10%

poi ho inserito un commandbutton in modo che cliccanddoci mi appare il risultato totale in una label1 che ho messo

in questo command1 ho scritto

Codice: [Seleziona]
Dim espressione As String
Dim Totale2 As String
   espressione = textbox1.Text
   Totale2 = Eval(espressione)

label1.text = Totale2
Ma va in errore mentre se scrivo senza usare percentuali funziona
« Ultima modifica: 03 Maggio 2023, 17:24:25 da Gratisweb »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Percentuali
« Risposta #3 il: 03 Maggio 2023, 17:22:42 »
Puoi per cortesia leggere questa guida* e usare il forum come si deve?

Grazie

*
https://www.gambas-it.org/smf/index.php?topic=7397.msg47179#msg47179
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Percentuali
« Risposta #4 il: 03 Maggio 2023, 17:27:07 »
Puoi per cortesia leggere questa guida* e usare il forum come si deve?

Grazie

*
https://www.gambas-it.org/smf/index.php?topic=7397.msg47179#msg47179

Corretto

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Percentuali
« Risposta #5 il: 03 Maggio 2023, 17:37:02 »
Per ottenere una percentuale, ad esempio del 10%, occorre moltiplicare  per 0.1
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Percentuali
« Risposta #6 il: 03 Maggio 2023, 17:38:35 »
Lo so, ma il problema è che nella textxbox non lo fa, come ho scritto prima se metto nella textbox il calcolo da fare come questo

5+5+10%-1+400-10%

va in errore ma se scrivo nella textbox 5+5+10%-1+400-10 il risultato me lo da

Sarà è eval che non accetta la percentuale
« Ultima modifica: 03 Maggio 2023, 17:42:29 da Gratisweb »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Percentuali
« Risposta #7 il: 03 Maggio 2023, 18:03:01 »
Eval non è una calcolatrice, e devi anche tener conto dell'ordine di valutazione degli operatori.

Più di questo non saprei dire  :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Percentuali
« Risposta #8 il: 03 Maggio 2023, 19:43:07 »
Non comprendo davvero perché usi "Eval()" per la gestione di un'operazione con le percentuali, essendo facilmente gestirle con calcoli, come suggerito da Gianluigi.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Percentuali
« Risposta #9 il: 03 Maggio 2023, 19:56:17 »
Per ottenere una percentuale, ad esempio del 10%, occorre moltiplicare  per 0.1

Ma non si fa /100 ?

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Percentuali
« Risposta #10 il: 03 Maggio 2023, 21:19:26 »
Non comprendo davvero perché usi "Eval()" per la gestione di un'operazione con le percentuali, essendo facilmente gestirle con calcoli, come suggerito da Gianluigi.

se scrivo su texbox un operazione per esempio 5 * 10 * 20 +1 /2

come faccio ad ottenere il risultato ?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Percentuali
« Risposta #11 il: 03 Maggio 2023, 21:37:21 »
Sì, va bene "Eval()":

Codice: [Seleziona]
TextBox1.Text = "5 * 10 * 20 + 1 / 2"

Print Eval(TextBox1.Text)
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Percentuali
« Risposta #12 il: 03 Maggio 2023, 21:39:19 »
Sì, va bene "Eval()":

Codice: [Seleziona]
TextBox1.Text = "5 * 10 * 20 + 1 / 2"

Print Eval(TextBox1.Text)

Il problema è con la %

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Percentuali
« Risposta #13 il: 03 Maggio 2023, 21:46:22 »
Sì, penso che tu debba risolvere la percentuale prima con un calcolo in apposita riga di codice, e poi passare il risultato parziale ad "Eval()".   :-\
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Percentuali
« Risposta #14 il: 03 Maggio 2023, 21:48:11 »
Sì, penso che tu debba risolvere la percentuale prima con un calcolo in apposita riga di codice, e poi passare il risultato parziale ad "Eval()".   :-\

E questo il problema, che ancora non ci sono arrivato. Anche se metto le formule non funzionano cioè danno risultati errati.
Ho usato una chat gpt mi da il codice ma me lo da sbagliato