Redondeo de la columna en la tabla de atributos con ArcGIS Field Calculator?

18

Quiero usar la Calculadora de campo en ArcMap para redondear una columna existente a dos decimales. Actualmente tengo una columna que tiene 6 decimales de largo y me gustaría simplemente redondearla a 2 decimales.

Había planeado usar la Calculadora de campo (posiblemente usando Python) para hacer esto, pero ¿tal vez hay una manera más fácil?


La respuesta aceptada es probablemente la forma más fácil de cambiar un solo campo, sin embargo, aquí está cómo hacerlo con la calculadora de campo para python y VB.

VB:

round([column], 2)

Pitón:

round(!column!, 2)
jsmith
fuente
2
Una expresión apropiada de la Calculadora de campo puede cambiar los datos para que se aproximen a múltiplos de 0.01. Qué tan cerca depende de cómo se almacena el campo; diferirá entre flotantes, dobles y codificación decimal. (Los dos primeros formatos no pueden almacenar exactamente ciertos valores, como 0.03 = 1.1000001111010111000010100011110 ... B, que es una expresión binaria infinita que se repite). Quizás intente cambiar el campo en sí para que almacene con precisión solo números decimales con dos decimales lugares?
whuber

Respuestas:

12

Cuando vaya a mostrar, calcule o etiquete el campo que podría usar,
redondee ([my_field], 2)
también para cambiar el comportamiento del campo en arcmap ...
ejemplo de redondeo

Brad Nesom
fuente
entrecruzado con su edición. oops
Brad Nesom
Está bien, me gustó mucho el comportamiento de campo. Por lo que estoy haciendo eso sería suficiente.
jsmith
13

¿Has probado algo como lo que está debajo en la Calculadora de campo?

round(!FieldName!, 2)

Asegúrese de configurar el analizador en Python en la Calculadora de campo.

Patty Jula
fuente
1
Sí, esa es la forma de python! Aparentemente es exactamente lo mismo que la forma VB (si hace doble clic en el campo para agregarlo). ¡La única diferencia es! vs [].
jsmith
5

Parece que un simple formato de cadena sería suficiente para ti:

>>> "%.2f" % 3.99999
'4.00'
>>>

o, con el número almacenado en una variable:

>>> j = 3.999999
>>> "%.2f" % j
'4.00'
>>>

Esto podría fácilmente envolverse en una función de Calculadora de campo.

Chad Cooper
fuente