Hola a tod@s
Soy nuevo con gambas y tengo un problema. Os describo todos los elementos del problema.
1. Tengo una base de datos SQLite3
2. Varios campos y uno en particular con el tipo float
Cuando accedo con Connection1 desde Conexiones y hago una prueba con una sentencia SQL, me devuelve el valor, uno de ellos como ejemplo:
5,0642292490119E-321
El problema es cuando recupero por programación desde gambas a una Gridview, me devuelve 5,0642292490119E-321 y yo lo que quiero es un redondeo a 5,06
¿Por favor como lo hago?
He intentado muchas cosas pero no lo se resolver. Gracias.
Truncar Campo Float A Dos Decimales
Subject: Re: Truncar Campo Float A Dos Decimales
Gracias ya lo he hecho pero me devuelve 0, y no se porque.
Esto es lo que puse:
Gridviewdatos[c, 1].Text = Round(Resultado["Importe"], -2)
Last edited by gambafeliz on Wednesday, 03 July 2019, 18:31; edited 1 time in total
shordi escribió:
Gracias ya lo he hecho pero me devuelve 0, y no se porque.
Esto es lo que puse:
Gridviewdatos[c, 1].Text = Round(Resultado["Importe"], -2)
Last edited by gambafeliz on Wednesday, 03 July 2019, 18:31; edited 1 time in total
Subject: Re: Truncar Campo Float A Dos Decimales
Hola, por fin lo he podido solucionar.
Te cuento como lo he resuelto.
En el "SELECT" he hecho esto:
round(Importe, 2) as Importe
Esto lo que ha hecho es enviarme ya el campo de la sentencia SQL con el redondeo y ya lo toma gambas con el redondeo, ya tan solo envio el resultado a Gridview directamente sin tratarlo.
shordi escribió:
Hola, por fin lo he podido solucionar.
Te cuento como lo he resuelto.
En el "SELECT" he hecho esto:
round(Importe, 2) as Importe
Esto lo que ha hecho es enviarme ya el campo de la sentencia SQL con el redondeo y ya lo toma gambas con el redondeo, ya tan solo envio el resultado a Gridview directamente sin tratarlo.
Subject: Re: Truncar Campo Float A Dos Decimales
Bienvenido.
En las bases de datos Sqlite3 yo suelo poner REAL y no Float y todo va bien.
Creo que te encuentras ante algún error de diseño de la base de datos.
Saludos.
gambafeliz escribió:
Bienvenido.
En las bases de datos Sqlite3 yo suelo poner REAL y no Float y todo va bien.
Creo que te encuentras ante algún error de diseño de la base de datos.
Saludos.
Subject: Re: Truncar Campo Float A Dos Decimales
Hola
Seguramente es así, es que es mi primera incursión en SQLite3, además de Gambas3 y es un proyecto que lo empecé en PHP y procede de un archivo CSV donde yo lo exporto a SQLite3,los campos ya venían en Float y lo que hice es simplemente dejarlos así. he instalado DB Browser for SQLite y el campo no es Float y si es REAL como me habías dicho.
Como ya te has fijado por la historieta todo es un perfecto desarrollo basado en un novato en todos estos campos.
Como ya no me acordaba, en su día lo hice bien, pero como lo estoy comenzando nuevamente pero en gambas pues no lo miré y di por valido lo que en la Zona de Conexiones de Gambas3 tiene y ahí me decía en la estructura de la tabla que era Float y no REAL.
Ahora con esta nueva información que opinais. De momento Gambas3 informa mal de la estructura del campo o quizás es su forma de representarlo.
Oye graciaslo miraré para adaptarlo y seguiré preguntando sobre muchas mas cosas y espero que me ayudes en el futuro. Por cierto me encantó Gambas3, mi enhorabuena a los desarrolladores y demás personas que hacen que sea posible.
Last edited by gambafeliz on Saturday, 06 July 2019, 10:27; edited 2 times in total
tincho escribió:
Hola
Seguramente es así, es que es mi primera incursión en SQLite3, además de Gambas3 y es un proyecto que lo empecé en PHP y procede de un archivo CSV donde yo lo exporto a SQLite3,
Ahora con esta nueva información que opinais. De momento Gambas3 informa mal de la estructura del campo o quizás es su forma de representarlo.
Oye gracias
Last edited by gambafeliz on Saturday, 06 July 2019, 10:27; edited 2 times in total
Subject: Re: Truncar Campo Float A Dos Decimales
Round de vuelve un valor numérico su asignación a un campo de texto, tal como lo haces, puede producir resultados espúreos (la coma por el punto y cosas así). Si añadieses la conversión a string str(round(resultado!importe,-2)).
De todas formas dejar el trabajo a la propia BBDD suele ser más rápido y efectivo.
Saludos
gambafeliz escribió:
Round de vuelve un valor numérico su asignación a un campo de texto, tal como lo haces, puede producir resultados espúreos (la coma por el punto y cosas así). Si añadieses la conversión a string str(round(resultado!importe,-2)).
De todas formas dejar el trabajo a la propia BBDD suele ser más rápido y efectivo.
Saludos
Subject: Re: Truncar Campo Float A Dos Decimales
Gracias, seguiré haciéndolo por BBDD pero probaré su sugerencia como nuevo elemento de aprendizaje.
shordi escribió:
Gracias, seguiré haciéndolo por BBDD pero probaré su sugerencia como nuevo elemento de aprendizaje.
Subject: Re: Truncar Campo Float A Dos Decimales
Hola
He probado como ya te dije con motivo didáctico lo que me has propuesto pero no funciona así. Me devuelve 0 en todos los resultado. Solo por si acaso, es posible que se trate de un Bug que se paso con respecto a Float. Como dato añadido los campos están configurado en inglés de estados unidos. Te lo cuento desde el desconocimiento solo es por ayudar, por si acaso es algo que sirva a los desarrolladores de Gambas.
Gracias y definitivamente lo redondeo en la sentencia SQL.
shordi escribió:
Hola
He probado como ya te dije con motivo didáctico lo que me has propuesto pero no funciona así. Me devuelve 0 en todos los resultado. Solo por si acaso, es posible que se trate de un Bug que se paso con respecto a Float. Como dato añadido los campos están configurado en inglés de estados unidos. Te lo cuento desde el desconocimiento solo es por ayudar, por si acaso es algo que sirva a los desarrolladores de Gambas.
Gracias y definitivamente lo redondeo en la sentencia SQL.
Subject: Re: Truncar Campo Float A Dos Decimales
No hay bugs en esas funciones probadisimas desde hace muchos años. Sería cuestión de ver tu diseño de base de datos y tú código.
Saludos
Last edited by shordi on Thursday, 04 July 2019, 12:46; edited 1 time in total
gambafeliz escribió:
No hay bugs en esas funciones probadisimas desde hace muchos años. Sería cuestión de ver tu diseño de base de datos y tú código.
Saludos
Last edited by shordi on Thursday, 04 July 2019, 12:46; edited 1 time in total
Page 1 of 5
You cannot post new topicsYou cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events
This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Generation Time: 0.1108s (PHP: -41% SQL: 141%)
SQL queries: 26 - Debug Off - GZIP Enabled