Cambio de tipo de datos en 4D Determinar el país de origen con la dirección IP

Detectar el sistema decimal actual

En muchos países, el uso del sistema numérico (americano o europeo) es una preferencia personal y los programas deben poder afrontar ambos ajustes.

Será muy útil detectar qué sistema utiliza el usuario durante los métodos On Startup (y On Server Startup) para evitarse cualquier duda después. Existen diversas maneras de hacerlo de las que aquí incluimos dos métodos. Si conocéis otros sistemas, no dudéis en comentárnoslos.

Método 1

El primer método efectúa una pequeña prueba de conversión de alfa a numérico para detectar el sistema.

C_STRING(1;<>va_SepDecimal)

If (Num(”0.5″)<1) `= 0.5

<>va_SepDecimal:=”.”

Else

<>va_SepDecimal:=”,” `= 5

End if


Método 2

El segundo método explota la constante Pi (3,141516…) presente en el lenguaje 4D y que por tanto se puede llamar por su nombre cualquiera que sea el sistema decimal.

C_STRING(1;<>va_SepDecimal)

<>va_SepDecimal:=string(Pi)[[2]]

o bien

<>va_SepDecimal:=Substring(string(Pi);2;1)

Estas dos líneas son equivalentes y recuperan el segundo carácter de la cadena Pi

Más tarde, en el desarrollo de la base, se puede invocar la variable cuando lo necesitemos (construcción de un real a partir de un texto).

C_TEXT($IVA)

C_REAL($PrecioSinIva;$PrecioTotal)

$PrecioTotal:=255

$IVA:=”196″ `el valor es alfa porque se pueden omitir decimales de esta forma - 19,6% es el tipo del IVA en Francia

$PrecioSinIva:=$PrecioTotal/(1+Num(◊va_SepDecimal+$IVA))

Publicado el 4 Julio, 2007 por redaccion | | Imprime este artículo
Cambio de tipo de datos en 4D Determinar el país de origen con la dirección IP

Deja una respuesta