1023dd3b8Sopenharmony_ciif (typeof T === 'undefined') require('../setup'); 2023dd3b8Sopenharmony_ci 3023dd3b8Sopenharmony_ciT('valueOf', function () { 4023dd3b8Sopenharmony_ci 5023dd3b8Sopenharmony_ci function t(expected, n) { 6023dd3b8Sopenharmony_ci T.assertEqual(expected, new Decimal(n).valueOf()); 7023dd3b8Sopenharmony_ci } 8023dd3b8Sopenharmony_ci 9023dd3b8Sopenharmony_ci Decimal.config({ 10023dd3b8Sopenharmony_ci precision: 20, 11023dd3b8Sopenharmony_ci rounding: 4, 12023dd3b8Sopenharmony_ci toExpNeg: -9e15, 13023dd3b8Sopenharmony_ci toExpPos: 9e15, 14023dd3b8Sopenharmony_ci minE: -9e15, 15023dd3b8Sopenharmony_ci maxE: 9e15 16023dd3b8Sopenharmony_ci }); 17023dd3b8Sopenharmony_ci 18023dd3b8Sopenharmony_ci t('0', 0); 19023dd3b8Sopenharmony_ci t('0', '0'); 20023dd3b8Sopenharmony_ci t('NaN', NaN); 21023dd3b8Sopenharmony_ci t('NaN', 'NaN'); 22023dd3b8Sopenharmony_ci t('Infinity', 1/0); 23023dd3b8Sopenharmony_ci t('Infinity', 'Infinity'); 24023dd3b8Sopenharmony_ci t('1', 1); 25023dd3b8Sopenharmony_ci t('9', 9); 26023dd3b8Sopenharmony_ci t('90', 90); 27023dd3b8Sopenharmony_ci t('90.12', 90.12); 28023dd3b8Sopenharmony_ci t('0.1', 0.1); 29023dd3b8Sopenharmony_ci t('0.01', 0.01); 30023dd3b8Sopenharmony_ci t('0.0123', 0.0123); 31023dd3b8Sopenharmony_ci t('111111111111111111111', '111111111111111111111'); 32023dd3b8Sopenharmony_ci t('0.00001', 0.00001); 33023dd3b8Sopenharmony_ci 34023dd3b8Sopenharmony_ci t('-0', -0); 35023dd3b8Sopenharmony_ci t('-0', '-0'); 36023dd3b8Sopenharmony_ci t('-Infinity', -1/0); 37023dd3b8Sopenharmony_ci t('-Infinity', '-Infinity'); 38023dd3b8Sopenharmony_ci t('-1', -1); 39023dd3b8Sopenharmony_ci t('-9', -9); 40023dd3b8Sopenharmony_ci t('-90', -90); 41023dd3b8Sopenharmony_ci t('-90.12', -90.12); 42023dd3b8Sopenharmony_ci t('-0.1', -0.1); 43023dd3b8Sopenharmony_ci t('-0.01', -0.01); 44023dd3b8Sopenharmony_ci t('-0.0123', -0.0123); 45023dd3b8Sopenharmony_ci t('-111111111111111111111', '-111111111111111111111'); 46023dd3b8Sopenharmony_ci t('-0.00001', -0.00001); 47023dd3b8Sopenharmony_ci 48023dd3b8Sopenharmony_ci // Exponential format 49023dd3b8Sopenharmony_ci Decimal.toExpNeg = Decimal.toExpPos = 0; 50023dd3b8Sopenharmony_ci 51023dd3b8Sopenharmony_ci t('1e-7', 0.0000001); 52023dd3b8Sopenharmony_ci t('1.23e-7', 0.000000123); 53023dd3b8Sopenharmony_ci t('1.2e-8', 0.000000012); 54023dd3b8Sopenharmony_ci t('-1e-7', -0.0000001); 55023dd3b8Sopenharmony_ci t('-1.23e-7', -0.000000123); 56023dd3b8Sopenharmony_ci t('-1.2e-8', -0.000000012); 57023dd3b8Sopenharmony_ci 58023dd3b8Sopenharmony_ci t('5.73447902457635174479825134e+14', '573447902457635.174479825134'); 59023dd3b8Sopenharmony_ci t('1.07688e+1', '10.7688'); 60023dd3b8Sopenharmony_ci t('3.171194102379077141557759899307946350455841e+27', '3171194102379077141557759899.307946350455841'); 61023dd3b8Sopenharmony_ci t('4.924353466898191177698653319742594890634579e+37', '49243534668981911776986533197425948906.34579'); 62023dd3b8Sopenharmony_ci t('6.85558243926569397328633907445409866949445343654692955e+18', '6855582439265693973.28633907445409866949445343654692955'); 63023dd3b8Sopenharmony_ci t('1e+0', '1'); 64023dd3b8Sopenharmony_ci}); 65023dd3b8Sopenharmony_ci 66