AYUDA!!! Operaciones Matemáticas con miles

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Saludos..

Por favor, necesito ayuda para realizar la siguiente función, El resultado debe si o si llevar la puntuación que separa los miles.

Por lo tanto, quisiera que el resultado me saliera: "2.500.000".



RealTokens = ("10.000.000");
Costo = ("7.500.000");

NewTokens = RealTokens - Costo;


Dialog.Message("Notice", NewTokens, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);


Gracias.

Saludos.

Sarita. :heartbeat: :heartbeat: :heartbeat:
Buen día no se mucho una vez hice la misma pregunta y lo que me respondieron era con math.round, no pude terminar mi proyecto por no saber mucho del tema.
usa el plugins currency es para ello.
Un recordatorio, los decimales se separan con . y los centesimales con , y no al reves, aunque este extendido en latinoamerica, hacerlo mal no es buena forma de hacerlo.

para pasar de un string a numero debes eliminar los simbolos y usar tonumber
num=("1.000.000"):gsub("%.","")
print(tonumber(num))


y para añadir a un numero los centesimales

function comma_value(n) -- credit http://richard.warburton.it
local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
end
By Pablo Example You Can Used this Code :

Código: Seleccionar todo

RealTokens = ("10.000.000");
Costo = ("7.500.000");

num = string.gsub(RealTokens, "%.","");
num1 = string.gsub(Costo, "%.","");

num2 = num - num1 ;
function comma_value(n) -- credit http://richard.warburton.it
        local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
        return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
end
a = comma_value(num2);
Dialog.Message("",a);
Es mejor trabajar con los valores númericos y luego formatearlos con los puntos o como sea que los necesite el cliente.

Código: Seleccionar todo

local number = 10000000 - 7500000

http://lua-users.org/wiki/FormattingNumbers
Thedary escribió:Es mejor trabajar con los valores númericos y luego formatearlos con los puntos o como sea que los necesite el cliente.

Código: Seleccionar todo

local number = 10000000 - 7500000

http://lua-users.org/wiki/FormattingNumbers
+1
Totalmente de acuerdo Thedary, así te olvidas de estar reformateando el string cada que hagas una operación :penguin:
Muchisimas Gracias, me sirvio bastante!!!

Tema Solucionado..

Saludos.

Sarita. :heartbeat: :heartbeat: :heartbeat: