Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Campo tipo XS decimal en delphi (https://www.clubdelphi.com/foros/showthread.php?t=93544)

rodalmas 05-11-2018 19:56:01

Campo tipo XS decimal en delphi
 
Buenos días
disculpen, tengo un problema al hacer un la asignación de un valor a un campo de tipo de xsdecimal.
Esto es porque estoy apoyando a un desarrollo de facturación en México y el PAC en su WS pide que se asigne un valor de tipo:
property Total: TXSDecimal
me manda un ejemplo de como se asigna en C#
importe1.Total = decimal.Parse("0.160000");
Pero lo quiero asignar en delphi y no me acepta ni el string, ni el float o double, encontré esto en la red pero al mandarlo al WS, me regresa un error extraño.
Código Delphi [-]
Var
  XsDec: TXSDecimal;
  Arreglo: DetalleCFDICancelacion2;
begin
    XsDec := TXSDecimal.Create;
    XsDec.XSToNative(FormatFloat('%f',1571.43));
   Arreglo.RFCReceptor := 'TES030201001';
   Arreglo.Total := XsDec;
   Arreglo.UUID := '34999FE8-7E57-7E57-7E57-7DE3AD8F6F1B';
...
gracias

rodalmas 06-11-2018 01:20:40

Gracias Casimiro, por la edición.

Bueno después de tanto buscar, encontré la solución y la comparto con ustedes por si alguien la ocupa!
Lo único que tuve que hacer fue iniciar el campo XSDecimal y asignarle el valor en string por medio de su procedimiento XSToNative

Código Delphi [-]
    Arreglo.RFCReceptor := 'TES030201001';
    Arreglo.Total := TXSDecimal.Create;
    Arreglo.Total.XSToNative(FloatToStr('1571.43'));
    Arreglo.UUID := '34999FE8-7E57-7E57-7E57-7DE3AD8F6F1B';

Y con es funcionó

saludos y gracias.

ElKurgan 06-11-2018 07:42:42

gracias por compartir la solución

Saludos


La franja horaria es GMT +2. Ahora son las 06:22:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi