FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Limitar un single a dos decimales
Hola, mi problema es que tengo un dato de tipo single que contiene varios decimales y me gustaría limitar el número de decimales a 2, ¿ existe alguna función en delphi que te permita limitar el número de decimales ?
Gracias. |
#2
|
||||
|
||||
Hola,
¿te refieres a ver el dato con 2 decimales o a introducir el dato con 2 decimales? Si es para mostralo al usuario, prueba con FormatFloat pero si es para introducir como máximo 2 decimales, depende del control que uses para ello (tDBEdit, tDBGrid, etc), aunque siempre te quedará como último recurso el evento BeforePost del DataSet para "formatear" el valor de ese campo. Salu2. |
#3
|
|||
|
|||
Realmente lo que quiero hacer es una operacion matematica y el resultado meterlo en un array, pero quiero meterlo en el array solo con dos decimales, no necesito meterlo en ninguna base de datos.
Gracias. |
#4
|
||||
|
||||
Ok, prueba esto:
Código:
Numero_con_2_decimales := StrToFloat(FormatFloat('#.##',Numero_con_Muchos_decimales)); |
#5
|
||||
|
||||
Se me olvidó decirte que puedes crearte una función de este estilo:
Código:
function Redondear_a_2_decimales(Valor: Real): Real; begin // movemos la come decimal 2 posiciones e ignoramos los decimales restantes Valor := Round(Valor * 100); // o también Trunc(Valor*100); // recuperamos los decimales que queremos Valor := Valor / 100; Result := Valor; end; |
#6
|
|||
|
|||
no me funciona, el numero es 0,40000000592 y al ponerlo con 2 decimales me sale 0, no se si se te ocurre algo pero gracias de todas formas
|
#7
|
|||
|
|||
perdona no había visto la función, voy a probarla
|
#8
|
|||
|
|||
Ya está.
Muchas gracias |
|
|
|