mirror of
https://github.com/MikeMcl/decimal.js.git
synced 2024-10-27 20:34:12 +00:00
Fix NaN toNumber
This commit is contained in:
parent
ba0ca1ee14
commit
800cef4c1f
@ -1452,7 +1452,7 @@
|
|||||||
var x = this;
|
var x = this;
|
||||||
|
|
||||||
// Ensure zero has correct sign.
|
// Ensure zero has correct sign.
|
||||||
return +x || ( x | 0 ) * x['s'];
|
return +x || ( x['s'] ? 0 * x['s'] : NaN );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -2545,7 +2545,7 @@
|
|||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove any digits after the required decimal places.
|
// Truncate excess digits.
|
||||||
if ( xc.length > sd ) {
|
if ( xc.length > sd ) {
|
||||||
xc.length = sd;
|
xc.length = sd;
|
||||||
}
|
}
|
||||||
|
2
decimal.min.js
vendored
2
decimal.min.js
vendored
File diff suppressed because one or more lines are too long
@ -19,14 +19,14 @@ var count = (function toNumber(Decimal) {
|
|||||||
|
|
||||||
function assert(expected, actual) {
|
function assert(expected, actual) {
|
||||||
total++;
|
total++;
|
||||||
if (expected !== actual) {
|
if (expected === actual || isNaN(expected) && isNaN(actual)) {
|
||||||
|
passed++;
|
||||||
|
//log('\n Expected and actual: ' + actual);
|
||||||
|
} else {
|
||||||
error('\n Test number: ' + total + ' failed');
|
error('\n Test number: ' + total + ' failed');
|
||||||
error(' Expected: ' + expected);
|
error(' Expected: ' + expected);
|
||||||
error(' Actual: ' + actual);
|
error(' Actual: ' + actual);
|
||||||
//process.exit();
|
//process.exit();
|
||||||
} else {
|
|
||||||
passed++;
|
|
||||||
//log('\n Expected and actual: ' + actual);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ var count = (function toNumber(Decimal) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function T(value, n) {
|
function T(value, n) {
|
||||||
assert(new Decimal(value).toNumber(), n);
|
assert(n, new Decimal(value).toNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
log('\n Testing toNumber...');
|
log('\n Testing toNumber...');
|
||||||
@ -80,6 +80,8 @@ var count = (function toNumber(Decimal) {
|
|||||||
T('Infinity', 1 / 0);
|
T('Infinity', 1 / 0);
|
||||||
T(-Infinity, -1 / 0);
|
T(-Infinity, -1 / 0);
|
||||||
T('-Infinity', -1 / 0);
|
T('-Infinity', -1 / 0);
|
||||||
|
T(NaN, NaN);
|
||||||
|
T('NaN', NaN);
|
||||||
|
|
||||||
T('9.999999e+9000000000000000', 1 / 0);
|
T('9.999999e+9000000000000000', 1 / 0);
|
||||||
T('-9.999999e+9000000000000000', -1 / 0);
|
T('-9.999999e+9000000000000000', -1 / 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user