Página 1 de 1

Como dejar los dos decimales de una variable numerica

Publicado: Sab Ene 27, 2018 3:54 am
por ooap99
Hola buenas noches y feliz año nuevo 2018.

variable= 200.50 Tengo esta variable que es numerica de 10 con 2 decimales.
La idea es quitarle los espacios en blanco lo realizo de la siguiente manera:
Clip(variable)
El resultado es el siguiente:
200.5 Me quita los espacios pero también me quita el cero del lado derecho de las decimales.

La pregunta es como puedo hacerle para que me quite los espacios en blanco de la variable numérica pero me deje los dos decimales.
200.50

Saludos y gracias por su apoyo.

Re: Como dejar los dos decimales de una variable numerica

Publicado: Sab Ene 27, 2018 7:53 pm
por HDMadeira
Hola, proba

variable_string= format(variable,@n9.2)

saludos

Daniel

Re: Como dejar los dos decimales de una variable numerica

Publicado: Sab Ene 27, 2018 11:27 pm
por ooap99
Hola daniel gracias por contestar.

E punto es que si utilizo esta instrucción.
variable_string= format(variable,@n9.2)
El resultado seria:
XXX200.50

Y la idea es quitarle los 3 espacios del lado izquierdo (XXX). Porque en total son 9 espacios con todo y los 2 decimales.

XXX200.50
123456789

Si le quito los 3 espacios del lado izquierdo(XXX) el 1,2,3 quedaría de la siguiente manera, así es como quiero que quede. Justificado del lado izquierdo y sin espacios del lado derecho.
200.50

Saludos y gracias por tu apoyo.

Re: Como dejar los dos decimales de una variable numerica

Publicado: Dom Ene 28, 2018 2:18 pm
por HDMadeira
Hola, proba
variable_string= LEFT(format(variable,@n9.2))

Saludos

Daniel

Re: Como dejar los dos decimales de una variable numerica

Publicado: Lun Ene 29, 2018 3:14 pm
por ooap99
Hola daniel buenos días.
variable_string= LEFT(format(variable,@n9.2))

Esta función me quita los espacios del lado izquierdo, pero me los pone del lado derecho.
El resultado seria:

200.50XXX

Ya le intente tambien de la siguiente manera.
variable_string= CLIP(format(variable,@n9.2))
variable_string= LEFT(format(variable,@n9.2))
Y no logro quitar los espacios del lado izquierdo en blanco.

Y la idea es que me quite los espacios del lado izquierod(XXX)
XXX200.50

Y quede de la siguiente manera:
200.50

Saludos y gracias por tu apoyo.

Re: Como dejar los dos decimales de una variable numerica

Publicado: Mar Ene 30, 2018 1:00 am
por HDMadeira
Hola, será porque la variable es string en vez de cstring ?

Saludos

Daniel

Re: Como dejar los dos decimales de una variable numerica

Publicado: Mar Ene 30, 2018 1:25 am
por HDMadeira
Hola, probe lo siguiente
cree las variables

"variable" como decimal @9.2
"strings" como string de 20 caracteres
"stringc" como cstring de 21 caracteres

luego en el accepted de un botón puse lo siguiente

variable=123.50
strings='+'& left(format(variable,@n6.2)) & '+'
stringc='+'& left(format(variable,@n6.2)) & '+'

stop(strings)
stop(stringc)

el resultado de los dos stops es el mismo +123.50+
es decir sin espacio antes ni despues del numero...
sera problema del picture que elegiste en el control donde mostras el resultado ?

Saludos

Daniel

Re: Como dejar los dos decimales de una variable numerica

Publicado: Mar Mar 06, 2018 10:12 pm
por ooap99
!Una disculpa, por no poner el código a tiempo, lo resolví de la siguiente manera. Saludos.
Loc:totalp !variable tipo decimal @n-14.2
Loc:posicion ! variable tipo short @n-2
!Codigo
Loc:posicion=0
Str = Format(Loc:totalp,@n10.2) !' 2500.80' ! String con el texto
Str = Left(Str) ! Justificar texto a la izquierda para evitar "posibles" espacios iniciales
P# = Instring('.',Str) ! Obtener la posición del punto de decimal del importe
Loc:posicion=Str[P#+1]&Str[P#+2]
!MESSAGE(Loc:posicion)
If Loc:posicion=10 or Loc:posicion=20 or Loc:posicion=30 or Loc:posicion=40 or Loc:posicion=50 or Loc:posicion=60 or Loc:posicion=70 or Loc:posicion=80 or
Loc:posicion=90
Clear(Nom:c1)
Nom:c1 = ' SubTotal : "'&Clip(Loc:totalp)&'0'&'"'
ADD(nomitxt)
Else
If Loc:posicion=00
Clear(Nom:c1)
Nom:c1 = ' SubTotal : "'&Clip(Loc:totalp)&'.00'&'"'
ADD(nomitxt)
Else
Clear(Nom:c1)
Nom:c1 = ' SubTotal : "'&Clip(Loc:totalp)&'"'
ADD(nomitxt)
End
End

Gracias por su apoyo. Dios los bendiga hoy y siempre.