fix COIN_FROM_FLOAT loss of precision
Signed-off-by: MiaoWoo <admin@yumc.pw>merge-requests/3/head
parent
a0768062a5
commit
695641a1e9
|
@ -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";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue