mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 12:15:51 +00:00
[FIX] Make Amount.to_human return correct results for very small numbers
This commit is contained in:
@@ -842,7 +842,7 @@ Amount.prototype.to_human = function(opts) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var isNegative = ref._value.isNegative();
|
var isNegative = ref._value.isNegative();
|
||||||
var valueString = ref._value.abs().toString();
|
var valueString = ref._value.abs().toFixed();
|
||||||
var parts = valueString.split('.');
|
var parts = valueString.split('.');
|
||||||
var int_part = parts[0];
|
var int_part = parts[0];
|
||||||
var fraction_part = parts.length === 2 ? parts[1] : '';
|
var fraction_part = parts.length === 2 ? parts[1] : '';
|
||||||
|
|||||||
@@ -118,6 +118,12 @@ describe('Amount', function() {
|
|||||||
it('to human rounding edge case, precision 3, 2', function() {
|
it('to human rounding edge case, precision 3, 2', function() {
|
||||||
assert.strictEqual(Amount.from_human("0.999 XAU").to_human({precision:2}), '1.00');
|
assert.strictEqual(Amount.from_human("0.999 XAU").to_human({precision:2}), '1.00');
|
||||||
});
|
});
|
||||||
|
it('to human very small number', function() {
|
||||||
|
assert.strictEqual(Amount.from_json('12e-20/USD').to_human(), '0.00000000000000000012');
|
||||||
|
});
|
||||||
|
it('to human very small number with precision', function() {
|
||||||
|
assert.strictEqual(Amount.from_json('12e-20/USD').to_human({precision: 20}), '0.00000000000000000012');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
describe('from_human', function() {
|
describe('from_human', function() {
|
||||||
it('empty string', function() {
|
it('empty string', function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user