Como multiplico decimales

Hola, yo tengo una duda EN VISUAL FOX PRO 6.0 ya cheque muchos códigos de multiplicación como este THISFORM.TEXT3. VALUE = STR(VAL(THISFORM.TEXT1. VALUE) * VAL(THISFORM.TEXT2.VALUE)) pero solo se multiplican ENTEROS si quiero multiplicar decimales no da bien el resultado ejemplo 3 x 2.5 = 6 así me da el resultado cuando me debería dar 7.5 QUE CÓDIGO PONGO PARA QUE MULTIPLIQUE DECIMALES. Gracias por el momento

1 Respuesta

Respuesta
1
Al utilizar la función str() estás convirtiendo el resultado numérico en una cadena de caracteres.
Para que esa cadena contenga decimales debes especificarlo en uno de los parámetros de la función:
STR(nExpression [, nLength [, nDecimalPlaces]])
Verifícalo y cualquier inconveniente me cuentas.
Suerte.
Ok muchas gracias, entiendo la sintaxis y se que datos colocar lo único que no sabría es como declarar el numero de longitud y el numero de decimales, seria así (select decimal to 2) este es otro código, si multiplica y pone los 2 decimales pero la multiplicación es errónea 3x3.2= 9,00
PuntoD = .T.
SET DECIMAL TO 2
LOCAL nNum1,nNum2,nRes
WITH THISFORM
nNum1 = VAL(.Text1.Value)
nNum2 = VAL(.Text2.Value)
nRes = nNum1 * nNum2
.Text3.Value = ALLT(STR(nRes,12,2))
endwith
Espero no darle mucha lata de ante mano gracias
Respondiendo a tu primera pregunta, tu sintaxis debería ser así:
THISFORM.TEXT3.VALUE = STR(VAL(THISFORM.TEXT1.VALUE) * VAL(THISFORM.TEXT2.VALUE), 15, 2)
Fíjate que con la función str() estás indicando que la longitud de la cadena sea de 15 y 2 lugares decimales.
Pruébalo y me avisas.
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas