Risultati integer di gh diversi da int di py

ovviamente, escludendo che capiti solo a me:
è possibile che col componente “integer” di Gh
il risultato è deverso dalla funzione “int” di Py?

c’è qualcosa che mi sfugge?

Ciao Salvio.

… Come sempre … Posta la definizione, please ! :smile:

edit:
int in Py ritorna solo il numero intero senza decimali giusto?

in pratica il componente integer di Gh equivale a: “print int(round(x))”

Si’, anche a me sembra che sia come dici tu.

In Python 2 round() restituisce sempre un float, quindi se ti interessa anche il tipo (int anziche’ float) oltre al valore, devi usare int().
In Python 3 invece round() restituisce direttamente un int in questo caso.

che pensi Emilio, può darsi che questo dipenda dal fatto che i componenti Gh
sono scritti in C se non erro giusto, e forse Py 3 segue la stessa strada?

Non credo c’entri il linguaggio che usi.

Secondo me:
Python si evolve, giustamente, e poco per volta affina i suoi strumenti.
Credo abbiano pensato che fosse piu’ logico avere direttamente un intero invece di un floating point con valore intero.
Per GH e’ David che decide cosa fanno i vari componenti.
Probabilmente a lui sembra logico arrotondare, quando tu passi un valore decimale al componente Integer. Non ci vedo niente di strano.

Poi personalmente mi sembra poco prudente passare un decimale a Integer per ottenere in intero,
non mi sembra sia il suo mestiere. A meno che per te sia indifferente ottenere un numero o un altro.
Per queste cosa ci sono metodi piu’ sicuri secondo me, come un’espressione. :slight_smile:

EDIT:

Dimenticavo … c’e’ anche il componente Round, e puoi scegliere tra 3 risultati.

???

anzi con round a 0 decimali torna sempre un float

Spiega meglio Salvio, per favore.
Non capisco cosa intendi.

scusa Emilio non avevo letto bene

io intendevo in py: print round(1.2, 0) ritorna 1.0

E’ quello che dicevo sopra

O intenti qualcos’altro ?

non no era quello che intendo anche io ad inizio post

ps dopo quanto hai scritto ho fatto delle ricerche per int round in python
ed ho trovato che la mia soluzione viene consigliata per lo stesso problema

come mai ritieni che non sia un metodo giusto e invece tendi per una espressione?

Non ho detto questo.
Quello che non mi sembrava un buon sistema e’ usare il componete GH Integer per arrotondare.
La saponetta, per intenderci … :smile:

EDIT:
Ma forse sbaglio. Come sai so poco di GH.

ok, in verità, avevo usato int() in py, ma mi serviva anche visualizzare esternamente
e quindi avevo collegato tra il risultato ed il panel il componente integer
per questo mi ero accorto della differenza tra i due metodi :slight_smile:

Scusa, non ho capito …
Il risultato di cui parli e’ un intero o un decimale ?

il risultato decimale che poi deve diventare intero :smile:

1 Mi Piace