# Print list (questa è strana)

**URL:** <https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333>\
**Category:** Scripting e Programmazione\
**Created:** [21 Marzo 2019, 12:58am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333 "2019-03-21T00:58:30Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [21 Marzo 2019, 12:58am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/1 "2019-03-21T00:58:30Z")

</div>

```
print([0.7])
output: [0.69999999999999996]

print([0.3])
output: [0.29999999999999999]

```

come mai succede?

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [21 Marzo 2019, 6:44am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/2 "2019-03-21T06:44:27Z")

</div>

Sembra che in questo caso, cioe’ elementi di una lista, **print** usi una precisione di 17 cifre, che e’ un po’ tanto.  
Va beh … puoi sempre formattare i numeri come preferisci se vuoi. 🙂

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [21 Marzo 2019, 11:13am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/3 "2019-03-21T11:13:58Z")

</div>

ho dovuto usare la formattazione a due cifre decimali ma mi ritorna come stringa e ho dovuto riconvertire

output postato vale solo se i valori sono inseriti in una lista, mentre se si usa:

```auto
print(0.3)

```

output è 0.3

ma questa differenza dei print nella versione di Py 3.7 non succede ritorna sempre 0.3

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [21 Marzo 2019, 11:19am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/4 "2019-03-21T11:19:51Z")

</div>

> [@0904](#):
>
> ma mi ritorna come stringa e ho dovuto riconvertire

In che senso ?

> [@0904](#):
>
> nella versione di Py 3.7 non succede

Si’, ho visto.  
CPython non lo fa, sia versione 2 che 3.

Dev’essere una cosa di IronPython

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [21 Marzo 2019, 11:29am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/5 "2019-03-21T11:29:39Z")

</div>

> [@emilio](#):
>
> In che senso ?

quando si usa “{0:.2f}”.format() il risultato viene convertito in stringa  
quindi se necessito di un di un valore numerico dovrò convertirlo

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [21 Marzo 2019, 11:38am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/6 "2019-03-21T11:38:44Z")

</div>

> [@0904](#):
>
> quando si usa “{0:.2f}”.format() il risultato viene convertito in stringa

Diciamo che format genera una stringa, cioe’ ricava il testo formattato dal numero.

> [@0904](#):
>
> quindi se necessito di un di un valore numerico dovrò convertirlo

In questo caso non credo abbia senso, in quanto otterresti il valore di partenza, cioe’ il numero **float** corrispondente a 0.3.

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [21 Marzo 2019, 11:42am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/7 "2019-03-21T11:42:22Z")

</div>

Ma non c’è una funzione “round” che elimini le cifre in eccesso?

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [21 Marzo 2019, 11:47am UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/8 "2019-03-21T11:47:28Z")

</div>

Si’, certo:

[https://docs.python.org/2/library/functions.html#round](https://docs.python.org/2/library/functions.html#round)

Ma se ho capito bene qui non ci sono numeri da arrotondare.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [21 Marzo 2019, 12:45pm UTC](https://it.discourse.mcneel.com/t/print-list-questa-e-strana/2333/9 "2019-03-21T12:45:12Z")

</div>

> [@emilio](#):
>
> Ma se ho capito bene qui non ci sono numeri da arrotondare.

c’è c’è ho postata vuota solo per indicare la funzione che stavo usando

è vero round 😋 😋 lo dico io che dopo una certa ora bisogna staccare ahahahaha
