1
0
Fork 0

fix COIN_FROM_FLOAT loss of precision

Signed-off-by: MiaoWoo <admin@yumc.pw>
merge-requests/3/head
MiaoWoo 2019-05-11 17:16:27 +08:00
parent a0768062a5
commit 695641a1e9
1 changed files with 3 additions and 3 deletions

View File

@ -60,7 +60,7 @@ function DIV(Coin,Value)
function FLOAT_FROM_COIN(Coin)
{
var Sum = Coin.SumCOIN + Coin.SumCENT / 1e9;
var Sum = Coin.SumCOIN + Coin.SumCENT / MAX_SUM_CENT;
return Sum;
};
@ -73,10 +73,10 @@ function STRING_FROM_COIN(Coin)
function COIN_FROM_FLOAT(Sum)
{
var SumCOIN = Math.floor(Sum);
var SumCENT = Math.floor((Sum - SumCOIN) * MAX_SUM_CENT);
var SumCENT = Math.floor(Sum * MAX_SUM_CENT - SumCOIN * MAX_SUM_CENT);
var Coin = {SumCOIN:SumCOIN, SumCENT:SumCENT};
var Sum2 = FLOAT_FROM_COIN(Coin);
if(Sum2 !== Sum2)
if(Sum !== Sum2)
{
throw "ERR CHECK COIN_FROM_FLOAT";
}