Número de cadena en un campo de fórmula
-
22-08-2019 - |
Pregunta
Estoy utilizando un campo de fórmula a concatonate 2 valores decimales separados por un guión. Sin embargo, quiero que el resultado para recortar todos los ceros a la derecha unneccesary y puntos decimales para ambos valores.
Por ejemplo, quiero valores 10 y 8,5 para estar "10 - 8,5". Ahora se nota. "10.00 - 8,50"
La fórmula que estoy usando es CSTR({field1}) + " - " + CSTR({field2}).
Solución
Creo que esto es lo que está buscando:
Convertir números decimales a texto que muestra sólo los que no son cero decimales
Especialmente esta línea podría ser útil:
StringVar text := Totext ( {Your.NumberField} , 6 , "" ) ;
El primer parámetro es el decimal a convertir, el segundo parámetro es el número de cifras decimales y el tercer parámetro es el separador de miles / millones etc.
Otros consejos
CSTR({number_field}, 0, '')
El segundo marcador de posición es para los decimales.
El último marcador de posición es para el separador de miles.
i escribió una función simple para esto:
Function (stringVar param)
(
Local stringVar oneChar := '0';
Local numberVar strLen := Length(param);
Local numberVar index := strLen;
oneChar = param[strLen];
while index > 0 and oneChar = '0' do
(
oneChar := param[index];
index := index - 1;
);
Left(param , index + 1);
)
También puede intentar usar la función de reemplazar:
reemplazar ( "10.00", "00", "")
pero no va a funcionar si hay números distintos de cero después del punto decimal.