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.