6 votos

Convirtiendo campos de números reales a un campo de números enteros simples

Tengo un shapefile con una tabla de atributos que tiene campos numéricos con cinco ceros después del punto decimal, importados de esa manera. No necesito decimales y quiero que las cifras sean números enteros simples. ¿Cómo puedo convertirlos en QGIS?

3 votos

¡Bienvenido a GIS:SE @David Heslop! Si creas un nuevo campo de enteros, puedes utilizar el nombre del campo con números como expresión (por ejemplo, "fieldName"). O puedes utilizar la expresión to_int( "fieldName" ) para convertir tu número real a entero.

0 votos

No es verdad: no puedes usar to_int("nombredecampo") con un número real, solo con una cadena... por favor, verifica antes de responder... :-)

0 votos

Bueno, es cierto que está documentado el uso de to_int para convertir de cadena a entero, pero también es cierto que funciona para convertir directamente de números dobles a enteros, al menos en QGIS 3.16. Puedes probar en la Calculadora de Campos, to_int(3.4) por ejemplo da 3 y to_int(3.6) da 4. Es decir, redondea el número real.

5voto

ami Puntos 136

Abra la tabla de atributos y vaya al calculador de campos, luego cree una nueva columna (entero) con la expresión "YourColumnName".

Obviamente debe cambiar YourColumnName por el nombre de su columna donde tiene los valores antiguos.

1 votos

Eso es completamente genial. Funciona bien. - ¡Gracias! ¡Incluso sé cómo se escribe "entero" ahora!

1voto

Tim Sparkles Puntos 101

Para convertir un número real a entero en una expresión, puedes redondear el número real, convertirlo a cadena y luego convertirlo a entero:

to_int( to_string( round("tucampo") ) )

Es un poco complicado, pero funciona para mí.

0 votos

No es necesario convertirlo a cadena o redondearlo. to_int(double) lo redondea a un entero en la calculadora de campos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X