forked from sheetjs/sheetjs
version bump 0.4.0: improvements across the board
- Proper fraction handling (using frac.cont) - Better handling of negative number cases - More tests!
This commit is contained in:
parent
5a49d84ae6
commit
43f8f00ef5
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ssf",
|
||||
"version": "0.3.1",
|
||||
"version": "0.4.0",
|
||||
"author": "SheetJS",
|
||||
"description": "pure-JS library to format data using ECMA-376 spreadsheet Format Codes",
|
||||
"keywords": [ "format", "sprintf", "spreadsheet" ],
|
||||
|
67
ssf.js
67
ssf.js
@ -4,7 +4,8 @@ var make_ssf = function(SSF){
|
||||
String.prototype.reverse=function(){return this.split("").reverse().join("");};
|
||||
var _strrev = function(x) { return String(x).reverse(); };
|
||||
function fill(c,l) { return new Array(l+1).join(c); }
|
||||
function pad(v,d){var t=String(v);return t.length>=d?t:(fill(0,d-t.length)+t);}
|
||||
function pad(v,d,c){var t=String(v);return t.length>=d?t:(fill(c||0,d-t.length)+t);}
|
||||
function rpad(v,d,c){var t=String(v);return t.length>=d?t:(t+fill(c||0,d-t.length));}
|
||||
/* Options */
|
||||
var opts_fmt = {};
|
||||
function fixopts(o){for(var y in opts_fmt) if(o[y]===undefined) o[y]=opts_fmt[y];}
|
||||
@ -64,24 +65,26 @@ var months = [
|
||||
['N', 'Nov', 'November'],
|
||||
['D', 'Dec', 'December']
|
||||
];
|
||||
var frac = function(x, D, mixed) {
|
||||
var n1 = Math.floor(x), d1 = 1;
|
||||
var n2 = n1+1, d2 = 1;
|
||||
if(x !== n1) while(d1 <= D && d2 <= D) {
|
||||
var m = (n1 + n2) / (d1 + d2);
|
||||
if(x === m) {
|
||||
if(d1 + d2 <= D) { d1+=d2; n1+=n2; d2=D+1; }
|
||||
else if(d1 > d2) d2=D+1;
|
||||
else d1=D+1;
|
||||
break;
|
||||
var frac = function frac(x, D, mixed) {
|
||||
var sgn = x < 0 ? -1 : 1;
|
||||
var B = x * sgn;
|
||||
var P_2 = 0, P_1 = 1, P = 0;
|
||||
var Q_2 = 1, Q_1 = 0, Q = 0;
|
||||
var A = B|0;
|
||||
while(Q_1 < D) {
|
||||
A = B|0;
|
||||
P = A * P_1 + P_2;
|
||||
Q = A * Q_1 + Q_2;
|
||||
if((B - A) < 0.0000000001) break;
|
||||
B = 1 / (B - A);
|
||||
P_2 = P_1; P_1 = P;
|
||||
Q_2 = Q_1; Q_1 = Q;
|
||||
}
|
||||
else if(x < m) { n2 = n1+n2; d2 = d1+d2; }
|
||||
else { n1 = n1+n2; d1 = d1+d2; }
|
||||
}
|
||||
if(d1 > D) { d1 = d2; n1 = n2; }
|
||||
if(!mixed) return [0, n1, d1];
|
||||
var q = Math.floor(n1/d1);
|
||||
return [q, n1 - q*d1, d1];
|
||||
if(Q > D) { Q = Q_1; P = P_1; }
|
||||
if(Q > D) { Q = Q_2; P = P_2; }
|
||||
if(!mixed) return [0, sgn * P, Q];
|
||||
var q = Math.floor(sgn * P/Q);
|
||||
return [q, sgn*P - q*Q, Q];
|
||||
};
|
||||
var general_fmt = function(v) {
|
||||
if(typeof v === 'boolean') return v ? "TRUE" : "FALSE";
|
||||
@ -98,10 +101,9 @@ var general_fmt = function(v) {
|
||||
if(o.length > 11+(v<0?1:0)) o = v.toExponential(5);
|
||||
}
|
||||
else {
|
||||
o = v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1")
|
||||
if(o.length > 11 + (v<0?1:0)) o = v.toPrecision(6);
|
||||
o = v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1");
|
||||
if(o.length > 11 + (v<0?1:0)) o = v.toPrecision(6);
|
||||
}
|
||||
if(v==0.000000001) console.log(v, o);
|
||||
o = o.replace(/(\.[0-9]*[1-9])0+e/,"$1e").replace(/\.0*e/,"e");
|
||||
return o.replace("e","E").replace(/\.0*$/,"").replace(/\.([0-9]*[^0])0*$/,".$1").replace(/(E[+-])([0-9])$/,"$1"+"0"+"$2");
|
||||
}
|
||||
@ -208,6 +210,11 @@ var write_num = function(type, fmt, val) {
|
||||
}
|
||||
if(fmt[0] === "$") return "$"+write_num(type,fmt.substr(fmt[1]==' '?2:1),val);
|
||||
var r, ff, aval = val < 0 ? -val : val, sign = val < 0 ? "-" : "";
|
||||
if((r = fmt.match(/# (\?+) \/ (\d+)/))) {
|
||||
var den = Number(r[2]), rnd = Math.round(aval * den), base = Math.floor(rnd/den);
|
||||
var myn = (rnd - base*den), myd = den;
|
||||
return sign + (base?base:"") + " " + (myn === 0 ? fill(" ", r[1].length + 1 + r[2].length) : pad(myn,r[1].length," ") + "/" + pad(myd,r[2].length));
|
||||
}
|
||||
switch(fmt) {
|
||||
case "0": return Math.round(val);
|
||||
case "0.0": o = Math.round(val*10);
|
||||
@ -219,8 +226,9 @@ var write_num = function(type, fmt, val) {
|
||||
case "#,##0": return sign + commaify(String(Math.round(aval)));
|
||||
case "#,##0.0": r = Math.round((val-Math.floor(val))*10); return val < 0 ? "-" + write_num(type, fmt, -val) : commaify(String(Math.floor(val))) + "." + r;
|
||||
case "#,##0.00": r = Math.round((val-Math.floor(val))*100); return val < 0 ? "-" + write_num(type, fmt, -val) : commaify(String(Math.floor(val))) + "." + (r < 10 ? "0"+r:r);
|
||||
case "# ? / ?": ff = frac(val<0?-val:val, 10, true); return (val<0?"-":"") + ff[0] + " " + ff[1] + "/" + ff[2];
|
||||
case "# ?? / ??": ff = frac(val<0?-val:val, 100, true); return (val<0?"-":"") + ff[0] + " " + ff[1] + "/" + ff[2];
|
||||
case "# ? / ?": ff = frac(aval, 9, true); return sign + (ff[0]||"") + " " + (ff[1] === 0 ? " " : ff[1] + "/" + ff[2]);
|
||||
case "# ?? / ??": ff = frac(aval, 99, true); return sign + (ff[0]||"") + " " + (ff[1] ? pad(ff[1],2," ") + "/" + rpad(ff[2],2," ") : " ");
|
||||
case "# ??? / ???": ff = frac(aval, 999, true); return sign + (ff[0]||"") + " " + (ff[1] ? pad(ff[1],3," ") + "/" + rpad(ff[2],3," ") : " ");
|
||||
default:
|
||||
}
|
||||
throw new Error("unsupported format |" + fmt + "|");
|
||||
@ -279,13 +287,16 @@ function eval_fmt(fmt, v, opts, flen) {
|
||||
break;
|
||||
/* Numbers */
|
||||
case '0': case '#':
|
||||
var nn = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) nn += c;
|
||||
out.push({t:'n', v:nn}); break;
|
||||
o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) o += c;
|
||||
out.push({t:'n', v:o}); break;
|
||||
case '?':
|
||||
o = fmt[i]; while(fmt[++i] === c) o+=c;
|
||||
q={t:c, v:o}; out.push(q); lst = c; break;
|
||||
case '*': ++i; if(fmt[i] == ' ') ++i; break; // **
|
||||
case '(': case ')': out.push({t:(flen===1?'t':c),v:c}); ++i; break;
|
||||
case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
|
||||
o = fmt[i]; while("0123456789".indexOf(fmt[++i]) > -1) o+=fmt[i];
|
||||
out.push({t:'D', v:o}); break;
|
||||
case ' ': out.push({t:c,v:c}); ++i; break;
|
||||
default:
|
||||
if("$-+/():!^&'~{}<>=".indexOf(c) === -1)
|
||||
@ -312,7 +323,7 @@ function eval_fmt(fmt, v, opts, flen) {
|
||||
out[i].t = 't'; break;
|
||||
case 'n': case '(':
|
||||
var jj = i+1;
|
||||
while(out[jj] && (out[jj].t == '?' || out[jj].t == ' ' || out[i].t == '(' && (out[jj].t == ')' || out[jj].t == 'n') || out[jj].t == 't' && (out[jj].v == '/' || out[jj].v == '$'))) {
|
||||
while(out[jj] && ("? D".indexOf(out[jj].t) > -1 || out[i].t == '(' && (out[jj].t == ')' || out[jj].t == 'n') || out[jj].t == 't' && (out[jj].v == '/' || out[jj].v == '$' || (out[jj].v == ' ' && (out[jj+1]||{}).t == '?')))) {
|
||||
if(out[jj].v!==' ') out[i].v += ' ' + out[jj].v;
|
||||
delete out[jj]; ++jj;
|
||||
}
|
||||
@ -332,7 +343,7 @@ function choose_fmt(fmt, v, o) {
|
||||
var l = fmt.length;
|
||||
switch(fmt.length) {
|
||||
case 1: fmt = [fmt[0], fmt[0], fmt[0], "@"]; break;
|
||||
case 2: fmt = [fmt[0], fmt[1], fmt[0], "@"]; break;
|
||||
case 2: fmt = [fmt[0], fmt[fmt[1] === "@"?0:1], fmt[0], "@"]; break;
|
||||
case 4: break;
|
||||
default: throw "cannot find right format for |" + fmt + "|";
|
||||
}
|
||||
@ -343,7 +354,7 @@ function choose_fmt(fmt, v, o) {
|
||||
var format = function format(fmt,v,o) {
|
||||
fixopts(o = (o||{}));
|
||||
if(fmt === 0) return general_fmt(v, o);
|
||||
fmt = table_fmt[fmt];
|
||||
if(typeof fmt === 'number') fmt = table_fmt[fmt];
|
||||
var f = choose_fmt(fmt, v, o);
|
||||
return eval_fmt(f[1], v, o, f[0]);
|
||||
};
|
||||
|
125
ssf.md
125
ssf.md
@ -151,10 +151,9 @@ For numbers, try to display up to 11 digits of the number (the original code
|
||||
if(o.length > 11+(v<0?1:0)) o = v.toExponential(5);
|
||||
}
|
||||
else {
|
||||
o = v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1")
|
||||
if(o.length > 11 + (v<0?1:0)) o = v.toPrecision(6);
|
||||
}
|
||||
if(v==0.000000001) console.log(v, o);
|
||||
o = v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1");
|
||||
if(o.length > 11 + (v<0?1:0)) o = v.toPrecision(6);
|
||||
}
|
||||
o = o.replace(/(\.[0-9]*[1-9])0+e/,"$1e").replace(/\.0*e/,"e");
|
||||
return o.replace("e","E").replace(/\.0*$/,"").replace(/\.([0-9]*[^0])0*$/,".$1").replace(/(E[+-])([0-9])$/,"$1"+"0"+"$2");
|
||||
}
|
||||
@ -353,13 +352,13 @@ For exponents, get the exponent and mantissa and format them separately:
|
||||
|
||||
```
|
||||
if(fmt.indexOf("E") > -1) {
|
||||
var idx = fmt.indexOf("E") - fmt.indexOf(".") - 1;
|
||||
var idx = fmt.indexOf("E") - fmt.indexOf(".") - 1;
|
||||
```
|
||||
|
||||
For the special case of engineering notation, "shift" the decimal:
|
||||
|
||||
```
|
||||
if(fmt == '##0.0E+0') {
|
||||
if(fmt == '##0.0E+0') {
|
||||
var ee = Number(val.toExponential(0).substr(3))%3;
|
||||
o = (val/Math.pow(10,ee%3)).toPrecision(idx+1+(ee%3)).replace(/^([+-]?)([0-9]*)\.([0-9]*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,ee) + "." + $3.substr(ee) + "E"; });
|
||||
} else o = val.toExponential(idx);
|
||||
@ -375,10 +374,20 @@ TODO: localize the currency:
|
||||
if(fmt[0] === "$") return "$"+write_num(type,fmt.substr(fmt[1]==' '?2:1),val);
|
||||
```
|
||||
|
||||
The default cases are hard-coded. TODO: actually parse them
|
||||
Fractions with known denominator are resolved by rounding:
|
||||
|
||||
```js>tmp/number.js
|
||||
var r, ff, aval = val < 0 ? -val : val, sign = val < 0 ? "-" : "";
|
||||
if((r = fmt.match(/# (\?+) \/ (\d+)/))) {
|
||||
var den = Number(r[2]), rnd = Math.round(aval * den), base = Math.floor(rnd/den);
|
||||
var myn = (rnd - base*den), myd = den;
|
||||
return sign + (base?base:"") + " " + (myn === 0 ? fill(" ", r[1].length + 1 + r[2].length) : pad(myn,r[1].length," ") + "/" + pad(myd,r[2].length));
|
||||
}
|
||||
```
|
||||
|
||||
The default cases are hard-coded. TODO: actually parse them
|
||||
|
||||
```js>tmp/number.js
|
||||
switch(fmt) {
|
||||
case "0": return Math.round(val);
|
||||
case "0.0": o = Math.round(val*10);
|
||||
@ -395,8 +404,9 @@ The default cases are hard-coded. TODO: actually parse them
|
||||
The frac helper function is used for fraction formats (defined below).
|
||||
|
||||
```js>tmp/number.js
|
||||
case "# ? / ?": ff = frac(val<0?-val:val, 10, true); return (val<0?"-":"") + ff[0] + " " + ff[1] + "/" + ff[2];
|
||||
case "# ?? / ??": ff = frac(val<0?-val:val, 100, true); return (val<0?"-":"") + ff[0] + " " + ff[1] + "/" + ff[2];
|
||||
case "# ? / ?": ff = frac(aval, 9, true); return sign + (ff[0]||"") + " " + (ff[1] === 0 ? " " : ff[1] + "/" + ff[2]);
|
||||
case "# ?? / ??": ff = frac(aval, 99, true); return sign + (ff[0]||"") + " " + (ff[1] ? pad(ff[1],2," ") + "/" + rpad(ff[2],2," ") : " ");
|
||||
case "# ??? / ???": ff = frac(aval, 999, true); return sign + (ff[0]||"") + " " + (ff[1] ? pad(ff[1],3," ") + "/" + rpad(ff[2],3," ") : " ");
|
||||
default:
|
||||
}
|
||||
throw new Error("unsupported format |" + fmt + "|");
|
||||
@ -512,8 +522,8 @@ Number blocks (following the general pattern `[0#?][0#?.,E+-%]*`) are grouped to
|
||||
```
|
||||
/* Numbers */
|
||||
case '0': case '#':
|
||||
var nn = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) nn += c;
|
||||
out.push({t:'n', v:nn}); break;
|
||||
o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) o += c;
|
||||
out.push({t:'n', v:o}); break;
|
||||
|
||||
```
|
||||
|
||||
@ -540,8 +550,17 @@ The open and close parens `()` also has special meaning (for negative numbers):
|
||||
case '(': case ')': out.push({t:(flen===1?'t':c),v:c}); ++i; break;
|
||||
```
|
||||
|
||||
The nonzero digits show up in fraction denominators:
|
||||
|
||||
```
|
||||
case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
|
||||
o = fmt[i]; while("0123456789".indexOf(fmt[++i]) > -1) o+=fmt[i];
|
||||
out.push({t:'D', v:o}); break;
|
||||
```
|
||||
|
||||
The default magic characters are listed in subsubsections 18.8.30-31 of ECMA376:
|
||||
|
||||
|
||||
```
|
||||
case ' ': out.push({t:c,v:c}); ++i; break;
|
||||
default:
|
||||
@ -569,7 +588,7 @@ The default magic characters are listed in subsubsections 18.8.30-31 of ECMA376:
|
||||
out[i].t = 't'; break;
|
||||
case 'n': case '(':
|
||||
var jj = i+1;
|
||||
while(out[jj] && (out[jj].t == '?' || out[jj].t == ' ' || out[i].t == '(' && (out[jj].t == ')' || out[jj].t == 'n') || out[jj].t == 't' && (out[jj].v == '/' || out[jj].v == '$'))) {
|
||||
while(out[jj] && ("? D".indexOf(out[jj].t) > -1 || out[i].t == '(' && (out[jj].t == ')' || out[jj].t == 'n') || out[jj].t == 't' && (out[jj].v == '/' || out[jj].v == '$' || (out[jj].v == ' ' && (out[jj+1]||{}).t == '?')))) {
|
||||
if(out[jj].v!==' ') out[i].v += ' ' + out[jj].v;
|
||||
delete out[jj]; ++jj;
|
||||
}
|
||||
@ -670,7 +689,7 @@ function choose_fmt(fmt, v, o) {
|
||||
var l = fmt.length;
|
||||
switch(fmt.length) {
|
||||
case 1: fmt = [fmt[0], fmt[0], fmt[0], "@"]; break;
|
||||
case 2: fmt = [fmt[0], fmt[1], fmt[0], "@"]; break;
|
||||
case 2: fmt = [fmt[0], fmt[fmt[1] === "@"?0:1], fmt[0], "@"]; break;
|
||||
case 4: break;
|
||||
default: throw "cannot find right format for |" + fmt + "|";
|
||||
}
|
||||
@ -681,7 +700,7 @@ function choose_fmt(fmt, v, o) {
|
||||
var format = function format(fmt,v,o) {
|
||||
fixopts(o = (o||{}));
|
||||
if(fmt === 0) return general_fmt(v, o);
|
||||
fmt = table_fmt[fmt];
|
||||
if(typeof fmt === 'number') fmt = table_fmt[fmt];
|
||||
var f = choose_fmt(fmt, v, o);
|
||||
return eval_fmt(f[1], v, o, f[0]);
|
||||
};
|
||||
@ -705,24 +724,26 @@ SSF.format = format;
|
||||
The implementation is from [our frac library](https://github.com/SheetJS/frac/):
|
||||
|
||||
```js>tmp/frac.js
|
||||
var frac = function(x, D, mixed) {
|
||||
var n1 = Math.floor(x), d1 = 1;
|
||||
var n2 = n1+1, d2 = 1;
|
||||
if(x !== n1) while(d1 <= D && d2 <= D) {
|
||||
var m = (n1 + n2) / (d1 + d2);
|
||||
if(x === m) {
|
||||
if(d1 + d2 <= D) { d1+=d2; n1+=n2; d2=D+1; }
|
||||
else if(d1 > d2) d2=D+1;
|
||||
else d1=D+1;
|
||||
break;
|
||||
var frac = function frac(x, D, mixed) {
|
||||
var sgn = x < 0 ? -1 : 1;
|
||||
var B = x * sgn;
|
||||
var P_2 = 0, P_1 = 1, P = 0;
|
||||
var Q_2 = 1, Q_1 = 0, Q = 0;
|
||||
var A = B|0;
|
||||
while(Q_1 < D) {
|
||||
A = B|0;
|
||||
P = A * P_1 + P_2;
|
||||
Q = A * Q_1 + Q_2;
|
||||
if((B - A) < 0.0000000001) break;
|
||||
B = 1 / (B - A);
|
||||
P_2 = P_1; P_1 = P;
|
||||
Q_2 = Q_1; Q_1 = Q;
|
||||
}
|
||||
else if(x < m) { n2 = n1+n2; d2 = d1+d2; }
|
||||
else { n1 = n1+n2; d1 = d1+d2; }
|
||||
}
|
||||
if(d1 > D) { d1 = d2; n1 = n2; }
|
||||
if(!mixed) return [0, n1, d1];
|
||||
var q = Math.floor(n1/d1);
|
||||
return [q, n1 - q*d1, d1];
|
||||
if(Q > D) { Q = Q_1; P = P_1; }
|
||||
if(Q > D) { Q = Q_2; P = P_2; }
|
||||
if(!mixed) return [0, sgn * P, Q];
|
||||
var q = Math.floor(sgn * P/Q);
|
||||
return [q, sgn*P - q*Q, Q];
|
||||
};
|
||||
```
|
||||
|
||||
@ -735,7 +756,8 @@ var make_ssf = function(SSF){
|
||||
String.prototype.reverse=function(){return this.split("").reverse().join("");};
|
||||
var _strrev = function(x) { return String(x).reverse(); };
|
||||
function fill(c,l) { return new Array(l+1).join(c); }
|
||||
function pad(v,d){var t=String(v);return t.length>=d?t:(fill(0,d-t.length)+t);}
|
||||
function pad(v,d,c){var t=String(v);return t.length>=d?t:(fill(c||0,d-t.length)+t);}
|
||||
function rpad(v,d,c){var t=String(v);return t.length>=d?t:(t+fill(c||0,d-t.length));}
|
||||
```
|
||||
|
||||
```js>tmp/zz_footer_n.js
|
||||
@ -755,6 +777,7 @@ make_ssf(SSF);
|
||||
npm install
|
||||
cat tmp/{00_header,opts,consts,frac,general,date,number,main,zz_footer_n}.js > ssf_node.js
|
||||
cat tmp/{00_header,opts,consts,frac,general,date,number,main,zz_footer}.js > ssf.js
|
||||
|
||||
```
|
||||
|
||||
```json>.vocrc
|
||||
@ -782,7 +805,7 @@ test:
|
||||
```json>package.json
|
||||
{
|
||||
"name": "ssf",
|
||||
"version": "0.3.1",
|
||||
"version": "0.4.0",
|
||||
"author": "SheetJS",
|
||||
"description": "pure-JS library to format data using ECMA-376 spreadsheet Format Codes",
|
||||
"keywords": [ "format", "sprintf", "spreadsheet" ],
|
||||
@ -834,6 +857,42 @@ describe('implied formats', function() {
|
||||
});
|
||||
```
|
||||
|
||||
The general test driver tests the General format:
|
||||
|
||||
```js>test/general.js
|
||||
/* vim: set ts=2: */
|
||||
var SSF = require('../');
|
||||
var fs = require('fs'), assert = require('assert');
|
||||
var data = JSON.parse(fs.readFileSync('./test/general.json','utf8'));
|
||||
var skip = [];
|
||||
describe('General format', function() {
|
||||
data.forEach(function(d) {
|
||||
it(d[1]+" for "+d[0], skip.indexOf(d[1]) > -1 ? null : function(){
|
||||
assert.equal(SSF.format(d[1], d[0], {}), d[2]);
|
||||
});
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
The fraction test driver tests fractional formats:
|
||||
|
||||
```js>test/fraction.js
|
||||
/* vim: set ts=2: */
|
||||
var SSF = require('../');
|
||||
var fs = require('fs'), assert = require('assert');
|
||||
var data = JSON.parse(fs.readFileSync('./test/fraction.json','utf8'));
|
||||
var skip = [];
|
||||
describe('fractional formats', function() {
|
||||
data.forEach(function(d) {
|
||||
it(d[1]+" for "+d[0], skip.indexOf(d[1]) > -1 ? null : function(){
|
||||
var expected = d[2], actual = SSF.format(d[1], d[0], {})
|
||||
//var r = actual.match(/(-?)\d* *\d+\/\d+/);
|
||||
assert.equal(actual, expected);
|
||||
});
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
The old test driver was manual:
|
||||
|
||||
```js>tmp/test.njs
|
||||
|
67
ssf_node.js
67
ssf_node.js
@ -4,7 +4,8 @@ var make_ssf = function(SSF){
|
||||
String.prototype.reverse=function(){return this.split("").reverse().join("");};
|
||||
var _strrev = function(x) { return String(x).reverse(); };
|
||||
function fill(c,l) { return new Array(l+1).join(c); }
|
||||
function pad(v,d){var t=String(v);return t.length>=d?t:(fill(0,d-t.length)+t);}
|
||||
function pad(v,d,c){var t=String(v);return t.length>=d?t:(fill(c||0,d-t.length)+t);}
|
||||
function rpad(v,d,c){var t=String(v);return t.length>=d?t:(t+fill(c||0,d-t.length));}
|
||||
/* Options */
|
||||
var opts_fmt = {};
|
||||
function fixopts(o){for(var y in opts_fmt) if(o[y]===undefined) o[y]=opts_fmt[y];}
|
||||
@ -64,24 +65,26 @@ var months = [
|
||||
['N', 'Nov', 'November'],
|
||||
['D', 'Dec', 'December']
|
||||
];
|
||||
var frac = function(x, D, mixed) {
|
||||
var n1 = Math.floor(x), d1 = 1;
|
||||
var n2 = n1+1, d2 = 1;
|
||||
if(x !== n1) while(d1 <= D && d2 <= D) {
|
||||
var m = (n1 + n2) / (d1 + d2);
|
||||
if(x === m) {
|
||||
if(d1 + d2 <= D) { d1+=d2; n1+=n2; d2=D+1; }
|
||||
else if(d1 > d2) d2=D+1;
|
||||
else d1=D+1;
|
||||
break;
|
||||
var frac = function frac(x, D, mixed) {
|
||||
var sgn = x < 0 ? -1 : 1;
|
||||
var B = x * sgn;
|
||||
var P_2 = 0, P_1 = 1, P = 0;
|
||||
var Q_2 = 1, Q_1 = 0, Q = 0;
|
||||
var A = B|0;
|
||||
while(Q_1 < D) {
|
||||
A = B|0;
|
||||
P = A * P_1 + P_2;
|
||||
Q = A * Q_1 + Q_2;
|
||||
if((B - A) < 0.0000000001) break;
|
||||
B = 1 / (B - A);
|
||||
P_2 = P_1; P_1 = P;
|
||||
Q_2 = Q_1; Q_1 = Q;
|
||||
}
|
||||
else if(x < m) { n2 = n1+n2; d2 = d1+d2; }
|
||||
else { n1 = n1+n2; d1 = d1+d2; }
|
||||
}
|
||||
if(d1 > D) { d1 = d2; n1 = n2; }
|
||||
if(!mixed) return [0, n1, d1];
|
||||
var q = Math.floor(n1/d1);
|
||||
return [q, n1 - q*d1, d1];
|
||||
if(Q > D) { Q = Q_1; P = P_1; }
|
||||
if(Q > D) { Q = Q_2; P = P_2; }
|
||||
if(!mixed) return [0, sgn * P, Q];
|
||||
var q = Math.floor(sgn * P/Q);
|
||||
return [q, sgn*P - q*Q, Q];
|
||||
};
|
||||
var general_fmt = function(v) {
|
||||
if(typeof v === 'boolean') return v ? "TRUE" : "FALSE";
|
||||
@ -98,10 +101,9 @@ var general_fmt = function(v) {
|
||||
if(o.length > 11+(v<0?1:0)) o = v.toExponential(5);
|
||||
}
|
||||
else {
|
||||
o = v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1")
|
||||
if(o.length > 11 + (v<0?1:0)) o = v.toPrecision(6);
|
||||
o = v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1");
|
||||
if(o.length > 11 + (v<0?1:0)) o = v.toPrecision(6);
|
||||
}
|
||||
if(v==0.000000001) console.log(v, o);
|
||||
o = o.replace(/(\.[0-9]*[1-9])0+e/,"$1e").replace(/\.0*e/,"e");
|
||||
return o.replace("e","E").replace(/\.0*$/,"").replace(/\.([0-9]*[^0])0*$/,".$1").replace(/(E[+-])([0-9])$/,"$1"+"0"+"$2");
|
||||
}
|
||||
@ -208,6 +210,11 @@ var write_num = function(type, fmt, val) {
|
||||
}
|
||||
if(fmt[0] === "$") return "$"+write_num(type,fmt.substr(fmt[1]==' '?2:1),val);
|
||||
var r, ff, aval = val < 0 ? -val : val, sign = val < 0 ? "-" : "";
|
||||
if((r = fmt.match(/# (\?+) \/ (\d+)/))) {
|
||||
var den = Number(r[2]), rnd = Math.round(aval * den), base = Math.floor(rnd/den);
|
||||
var myn = (rnd - base*den), myd = den;
|
||||
return sign + (base?base:"") + " " + (myn === 0 ? fill(" ", r[1].length + 1 + r[2].length) : pad(myn,r[1].length," ") + "/" + pad(myd,r[2].length));
|
||||
}
|
||||
switch(fmt) {
|
||||
case "0": return Math.round(val);
|
||||
case "0.0": o = Math.round(val*10);
|
||||
@ -219,8 +226,9 @@ var write_num = function(type, fmt, val) {
|
||||
case "#,##0": return sign + commaify(String(Math.round(aval)));
|
||||
case "#,##0.0": r = Math.round((val-Math.floor(val))*10); return val < 0 ? "-" + write_num(type, fmt, -val) : commaify(String(Math.floor(val))) + "." + r;
|
||||
case "#,##0.00": r = Math.round((val-Math.floor(val))*100); return val < 0 ? "-" + write_num(type, fmt, -val) : commaify(String(Math.floor(val))) + "." + (r < 10 ? "0"+r:r);
|
||||
case "# ? / ?": ff = frac(val<0?-val:val, 10, true); return (val<0?"-":"") + ff[0] + " " + ff[1] + "/" + ff[2];
|
||||
case "# ?? / ??": ff = frac(val<0?-val:val, 100, true); return (val<0?"-":"") + ff[0] + " " + ff[1] + "/" + ff[2];
|
||||
case "# ? / ?": ff = frac(aval, 9, true); return sign + (ff[0]||"") + " " + (ff[1] === 0 ? " " : ff[1] + "/" + ff[2]);
|
||||
case "# ?? / ??": ff = frac(aval, 99, true); return sign + (ff[0]||"") + " " + (ff[1] ? pad(ff[1],2," ") + "/" + rpad(ff[2],2," ") : " ");
|
||||
case "# ??? / ???": ff = frac(aval, 999, true); return sign + (ff[0]||"") + " " + (ff[1] ? pad(ff[1],3," ") + "/" + rpad(ff[2],3," ") : " ");
|
||||
default:
|
||||
}
|
||||
throw new Error("unsupported format |" + fmt + "|");
|
||||
@ -279,13 +287,16 @@ function eval_fmt(fmt, v, opts, flen) {
|
||||
break;
|
||||
/* Numbers */
|
||||
case '0': case '#':
|
||||
var nn = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) nn += c;
|
||||
out.push({t:'n', v:nn}); break;
|
||||
o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) o += c;
|
||||
out.push({t:'n', v:o}); break;
|
||||
case '?':
|
||||
o = fmt[i]; while(fmt[++i] === c) o+=c;
|
||||
q={t:c, v:o}; out.push(q); lst = c; break;
|
||||
case '*': ++i; if(fmt[i] == ' ') ++i; break; // **
|
||||
case '(': case ')': out.push({t:(flen===1?'t':c),v:c}); ++i; break;
|
||||
case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
|
||||
o = fmt[i]; while("0123456789".indexOf(fmt[++i]) > -1) o+=fmt[i];
|
||||
out.push({t:'D', v:o}); break;
|
||||
case ' ': out.push({t:c,v:c}); ++i; break;
|
||||
default:
|
||||
if("$-+/():!^&'~{}<>=".indexOf(c) === -1)
|
||||
@ -312,7 +323,7 @@ function eval_fmt(fmt, v, opts, flen) {
|
||||
out[i].t = 't'; break;
|
||||
case 'n': case '(':
|
||||
var jj = i+1;
|
||||
while(out[jj] && (out[jj].t == '?' || out[jj].t == ' ' || out[i].t == '(' && (out[jj].t == ')' || out[jj].t == 'n') || out[jj].t == 't' && (out[jj].v == '/' || out[jj].v == '$'))) {
|
||||
while(out[jj] && ("? D".indexOf(out[jj].t) > -1 || out[i].t == '(' && (out[jj].t == ')' || out[jj].t == 'n') || out[jj].t == 't' && (out[jj].v == '/' || out[jj].v == '$' || (out[jj].v == ' ' && (out[jj+1]||{}).t == '?')))) {
|
||||
if(out[jj].v!==' ') out[i].v += ' ' + out[jj].v;
|
||||
delete out[jj]; ++jj;
|
||||
}
|
||||
@ -332,7 +343,7 @@ function choose_fmt(fmt, v, o) {
|
||||
var l = fmt.length;
|
||||
switch(fmt.length) {
|
||||
case 1: fmt = [fmt[0], fmt[0], fmt[0], "@"]; break;
|
||||
case 2: fmt = [fmt[0], fmt[1], fmt[0], "@"]; break;
|
||||
case 2: fmt = [fmt[0], fmt[fmt[1] === "@"?0:1], fmt[0], "@"]; break;
|
||||
case 4: break;
|
||||
default: throw "cannot find right format for |" + fmt + "|";
|
||||
}
|
||||
@ -343,7 +354,7 @@ function choose_fmt(fmt, v, o) {
|
||||
var format = function format(fmt,v,o) {
|
||||
fixopts(o = (o||{}));
|
||||
if(fmt === 0) return general_fmt(v, o);
|
||||
fmt = table_fmt[fmt];
|
||||
if(typeof fmt === 'number') fmt = table_fmt[fmt];
|
||||
var f = choose_fmt(fmt, v, o);
|
||||
return eval_fmt(f[1], v, o, f[0]);
|
||||
};
|
||||
|
14
test/fraction.js
Normal file
14
test/fraction.js
Normal file
@ -0,0 +1,14 @@
|
||||
/* vim: set ts=2: */
|
||||
var SSF = require('../');
|
||||
var fs = require('fs'), assert = require('assert');
|
||||
var data = JSON.parse(fs.readFileSync('./test/fraction.json','utf8'));
|
||||
var skip = [];
|
||||
describe('fractional formats', function() {
|
||||
data.forEach(function(d) {
|
||||
it(d[1]+" for "+d[0], skip.indexOf(d[1]) > -1 ? null : function(){
|
||||
var expected = d[2], actual = SSF.format(d[1], d[0], {})
|
||||
//var r = actual.match(/(-?)\d* *\d+\/\d+/);
|
||||
assert.equal(actual, expected);
|
||||
});
|
||||
});
|
||||
});
|
107
test/fraction.json
Normal file
107
test/fraction.json
Normal file
@ -0,0 +1,107 @@
|
||||
[
|
||||
[1, "# ?/?", "1 "],
|
||||
[-1.2, "# ?/?", "-1 1/5"],
|
||||
[12.3, "# ?/?", "12 1/3"],
|
||||
[-12.34, "# ?/?", "-12 1/3"],
|
||||
[123.45, "# ?/?", "123 4/9"],
|
||||
[-123.456, "# ?/?", "-123 1/2"],
|
||||
[1234.567, "# ?/?", "1234 4/7"],
|
||||
[-1234.5678, "# ?/?", "-1234 4/7"],
|
||||
[12345.6789, "# ?/?", "12345 2/3"],
|
||||
[-12345.67891, "# ?/?", "-12345 2/3"],
|
||||
|
||||
[1, "# ??/??", "1 "],
|
||||
[-1.2, "# ??/??", "-1 1/5 "],
|
||||
[12.3, "# ??/??", "12 3/10"],
|
||||
[-12.34, "# ??/??", "-12 17/50"],
|
||||
[123.45, "# ??/??", "123 9/20"],
|
||||
[-123.456, "# ??/??", "-123 26/57"],
|
||||
[1234.567, "# ??/??", "1234 55/97"],
|
||||
[-1234.5678, "# ??/??", "-1234 46/81"],
|
||||
[12345.6789, "# ??/??", "12345 55/81"],
|
||||
[-12345.67891, "# ??/??", "-12345 55/81"],
|
||||
|
||||
[1, "# ???/???", "1 "],
|
||||
[-1.2, "# ???/???", "-1 1/5 "],
|
||||
[12.3, "# ???/???", "12 3/10 "],
|
||||
[-12.34, "# ???/???", "-12 17/50 "],
|
||||
[123.45, "# ???/???", "123 9/20 "],
|
||||
[-123.456, "# ???/???", "-123 57/125"],
|
||||
[1234.567, "# ???/???", "1234 55/97 "],
|
||||
[-1234.5678, "# ???/???", "-1234 67/118"],
|
||||
[12345.6789, "# ???/???", "12345 74/109"],
|
||||
[-12345.67891, "# ???/???", "-12345 573/844"],
|
||||
|
||||
|
||||
[1, "# ?/2", "1 "],
|
||||
[-1.2, "# ?/2", "-1 "],
|
||||
[12.3, "# ?/2", "12 1/2"],
|
||||
[-12.34, "# ?/2", "-12 1/2"],
|
||||
[123.45, "# ?/2", "123 1/2"],
|
||||
[-123.456, "# ?/2", "-123 1/2"],
|
||||
[1234.567, "# ?/2", "1234 1/2"],
|
||||
[-1234.5678, "# ?/2", "-1234 1/2"],
|
||||
[12345.6789, "# ?/2", "12345 1/2"],
|
||||
[-12345.67891, "# ?/2", "-12345 1/2"],
|
||||
|
||||
[1, "# ?/4", "1 "],
|
||||
[-1.2, "# ?/4", "-1 1/4"],
|
||||
[12.3, "# ?/4", "12 1/4"],
|
||||
[-12.34, "# ?/4", "-12 1/4"],
|
||||
[123.45, "# ?/4", "123 2/4"],
|
||||
[-123.456, "# ?/4", "-123 2/4"],
|
||||
[1234.567, "# ?/4", "1234 2/4"],
|
||||
[-1234.5678, "# ?/4", "-1234 2/4"],
|
||||
[12345.6789, "# ?/4", "12345 3/4"],
|
||||
[-12345.67891, "# ?/4", "-12345 3/4"],
|
||||
|
||||
[1, "# ?/8", "1 "],
|
||||
[-1.2, "# ?/8", "-1 2/8"],
|
||||
[12.3, "# ?/8", "12 2/8"],
|
||||
[-12.34, "# ?/8", "-12 3/8"],
|
||||
[123.45, "# ?/8", "123 4/8"],
|
||||
[-123.456, "# ?/8", "-123 4/8"],
|
||||
[1234.567, "# ?/8", "1234 5/8"],
|
||||
[-1234.5678, "# ?/8", "-1234 5/8"],
|
||||
[12345.6789, "# ?/8", "12345 5/8"],
|
||||
[-12345.67891, "# ?/8", "-12345 5/8"],
|
||||
|
||||
[1, "# ??/16", "1 "],
|
||||
[-1.2, "# ??/16", "-1 3/16"],
|
||||
[12.3, "# ??/16", "12 5/16"],
|
||||
[-12.34, "# ??/16", "-12 5/16"],
|
||||
[123.45, "# ??/16", "123 7/16"],
|
||||
[-123.456, "# ??/16", "-123 7/16"],
|
||||
[1234.567, "# ??/16", "1234 9/16"],
|
||||
[-1234.5678, "# ??/16", "-1234 9/16"],
|
||||
[12345.6789, "# ??/16", "12345 11/16"],
|
||||
[-12345.67891, "# ??/16", "-12345 11/16"],
|
||||
|
||||
[1, "# ?/10", "1 "],
|
||||
[-1.2, "# ?/10", "-1 2/10"],
|
||||
[12.3, "# ?/10", "12 3/10"],
|
||||
[-12.34, "# ?/10", "-12 3/10"],
|
||||
[123.45, "# ?/10", "123 5/10"],
|
||||
[-123.456, "# ?/10", "-123 5/10"],
|
||||
[1234.567, "# ?/10", "1234 6/10"],
|
||||
[-1234.5678, "# ?/10", "-1234 6/10"],
|
||||
[12345.6789, "# ?/10", "12345 7/10"],
|
||||
[-12345.67891, "# ?/10", "-12345 7/10"],
|
||||
|
||||
[1, "# ??/100", "1 "],
|
||||
[-1.2, "# ??/100", "-1 20/100"],
|
||||
[12.3, "# ??/100", "12 30/100"],
|
||||
[-12.34, "# ??/100", "-12 34/100"],
|
||||
[123.45, "# ??/100", "123 45/100"],
|
||||
[-123.456, "# ??/100", "-123 46/100"],
|
||||
[1234.567, "# ??/100", "1234 57/100"],
|
||||
[-1234.5678, "# ??/100", "-1234 57/100"],
|
||||
[12345.6789, "# ??/100", "12345 68/100"],
|
||||
[-12345.67891, "# ??/100", "-12345 68/100"],
|
||||
|
||||
[0.3, "# ?/?", " 2/7"],
|
||||
[1.3, "# ?/?", "1 1/3"],
|
||||
[2.3, "# ?/?", "2 2/7"],
|
||||
|
||||
[0, "0", "0"]
|
||||
]
|
12
test/general.js
Normal file
12
test/general.js
Normal file
@ -0,0 +1,12 @@
|
||||
/* vim: set ts=2: */
|
||||
var SSF = require('../');
|
||||
var fs = require('fs'), assert = require('assert');
|
||||
var data = JSON.parse(fs.readFileSync('./test/general.json','utf8'));
|
||||
var skip = [];
|
||||
describe('General format', function() {
|
||||
data.forEach(function(d) {
|
||||
it(d[1]+" for "+d[0], skip.indexOf(d[1]) > -1 ? null : function(){
|
||||
assert.equal(SSF.format(d[1], d[0], {}), d[2]);
|
||||
});
|
||||
});
|
||||
});
|
516
test/general.json
Normal file
516
test/general.json
Normal file
@ -0,0 +1,516 @@
|
||||
[
|
||||
[1.234567E-14, 0, "1.23457E-14"],
|
||||
[1.234567E-13, 0, "1.23457E-13"],
|
||||
[1.234567E-12, 0, "1.23457E-12"],
|
||||
[1.234567E-11, 0, "1.23457E-11"],
|
||||
[1.234567E-10, 0, "1.23457E-10"],
|
||||
[1.234567E-9, 0, "1.23457E-09"],
|
||||
[1.234567E-8, 0, "1.23457E-08"],
|
||||
[1.234567E-7, 0, "1.23457E-07"],
|
||||
[1.234567E-6, 0, "1.23457E-06"],
|
||||
[1.234567E-5, 0, "1.23457E-05"],
|
||||
[1.234567E-4, 0, "0.000123457"],
|
||||
[1.234567E-3, 0, "0.001234567"],
|
||||
[1.234567E-2, 0, "0.01234567"],
|
||||
[1.234567E-1, 0, "0.1234567"],
|
||||
[1.234567E0, 0, "1.234567"],
|
||||
[1.234567E1, 0, "12.34567"],
|
||||
[1.234567E2, 0, "123.4567"],
|
||||
[1.234567E3, 0, "1234.567"],
|
||||
[1.234567E4, 0, "12345.67"],
|
||||
[1.234567E5, 0, "123456.7"],
|
||||
[1.234567E6, 0, "1234567"],
|
||||
[1.234567E7, 0, "12345670"],
|
||||
[1.234567E8, 0, "123456700"],
|
||||
[1.234567E9, 0, "1234567000"],
|
||||
[1.234567E10, 0, "12345670000"],
|
||||
[1.234567E11, 0, "1.23457E+11"],
|
||||
[1.234567E12, 0, "1.23457E+12"],
|
||||
[1.234567E13, 0, "1.23457E+13"],
|
||||
[1.234567E14, 0, "1.23457E+14"],
|
||||
|
||||
[0.00000000000001, 0, "1E-14"],
|
||||
[0.0000000000001, 0, "1E-13"],
|
||||
[0.000000000001, 0, "1E-12"],
|
||||
[0.00000000001, 0, "1E-11"],
|
||||
[0.0000000001, 0, "1E-10"],
|
||||
[0.000000001, 0, "0.000000001"],
|
||||
[0.00000001, 0, "0.00000001"],
|
||||
[0.0000001, 0, "0.0000001"],
|
||||
[0.000001, 0, "0.000001"],
|
||||
[0.00001, 0, "0.00001"],
|
||||
[0.0001, 0, "0.0001"],
|
||||
[0.001, 0, "0.001"],
|
||||
[0.01, 0, "0.01"],
|
||||
[0.1, 0, "0.1"],
|
||||
[1, 0, "1"],
|
||||
[10, 0, "10"],
|
||||
[100, 0, "100"],
|
||||
[1000, 0, "1000"],
|
||||
[10000, 0, "10000"],
|
||||
[100000, 0, "100000"],
|
||||
[1000000, 0, "1000000"],
|
||||
[10000000, 0, "10000000"],
|
||||
[100000000, 0, "100000000"],
|
||||
[1000000000, 0, "1000000000"],
|
||||
[10000000000, 0, "10000000000"],
|
||||
[100000000000, 0, "1E+11"],
|
||||
[1000000000000, 0, "1E+12"],
|
||||
[10000000000000, 0, "1E+13"],
|
||||
[100000000000000, 0, "1E+14"],
|
||||
|
||||
[0.000000000000012, 0, "1.2E-14"],
|
||||
[0.00000000000012, 0, "1.2E-13"],
|
||||
[0.0000000000012, 0, "1.2E-12"],
|
||||
[0.000000000012, 0, "1.2E-11"],
|
||||
[0.00000000012, 0, "1.2E-10"],
|
||||
[0.0000000012, 0, "1.2E-09"],
|
||||
[0.000000012, 0, "0.000000012"],
|
||||
[0.00000012, 0, "0.00000012"],
|
||||
[0.0000012, 0, "0.0000012"],
|
||||
[0.000012, 0, "0.000012"],
|
||||
[0.00012, 0, "0.00012"],
|
||||
[0.0012, 0, "0.0012"],
|
||||
[0.012, 0, "0.012"],
|
||||
[0.12, 0, "0.12"],
|
||||
[1.2, 0, "1.2"],
|
||||
[12, 0, "12"],
|
||||
[120, 0, "120"],
|
||||
[1200, 0, "1200"],
|
||||
[12000, 0, "12000"],
|
||||
[120000, 0, "120000"],
|
||||
[1200000, 0, "1200000"],
|
||||
[12000000, 0, "12000000"],
|
||||
[120000000, 0, "120000000"],
|
||||
[1200000000, 0, "1200000000"],
|
||||
[12000000000, 0, "12000000000"],
|
||||
[120000000000, 0, "1.2E+11"],
|
||||
[1200000000000, 0, "1.2E+12"],
|
||||
[12000000000000, 0, "1.2E+13"],
|
||||
[120000000000000, 0, "1.2E+14"],
|
||||
|
||||
[0.0000000000000123, 0, "1.23E-14"],
|
||||
[0.000000000000123, 0, "1.23E-13"],
|
||||
[0.00000000000123, 0, "1.23E-12"],
|
||||
[0.0000000000123, 0, "1.23E-11"],
|
||||
[0.000000000123, 0, "1.23E-10"],
|
||||
[0.00000000123, 0, "1.23E-09"],
|
||||
[0.0000000123, 0, "1.23E-08"],
|
||||
[0.000000123, 0, "0.000000123"],
|
||||
[0.00000123, 0, "0.00000123"],
|
||||
[0.0000123, 0, "0.0000123"],
|
||||
[0.000123, 0, "0.000123"],
|
||||
[0.00123, 0, "0.00123"],
|
||||
[0.0123, 0, "0.0123"],
|
||||
[0.123, 0, "0.123"],
|
||||
[1.23, 0, "1.23"],
|
||||
[12.3, 0, "12.3"],
|
||||
[123, 0, "123"],
|
||||
[1230, 0, "1230"],
|
||||
[12300, 0, "12300"],
|
||||
[123000, 0, "123000"],
|
||||
[1230000, 0, "1230000"],
|
||||
[12300000, 0, "12300000"],
|
||||
[123000000, 0, "123000000"],
|
||||
[1230000000, 0, "1230000000"],
|
||||
[12300000000, 0, "12300000000"],
|
||||
[123000000000, 0, "1.23E+11"],
|
||||
[1230000000000, 0, "1.23E+12"],
|
||||
[12300000000000, 0, "1.23E+13"],
|
||||
[123000000000000, 0, "1.23E+14"],
|
||||
|
||||
[0.00000000000001234, 0, "1.234E-14"],
|
||||
[0.0000000000001234, 0, "1.234E-13"],
|
||||
[0.000000000001234, 0, "1.234E-12"],
|
||||
[0.00000000001234, 0, "1.234E-11"],
|
||||
[0.0000000001234, 0, "1.234E-10"],
|
||||
[0.000000001234, 0, "1.234E-09"],
|
||||
[0.00000001234, 0, "1.234E-08"],
|
||||
[0.0000001234, 0, "1.234E-07"],
|
||||
[0.000001234, 0, "0.000001234"],
|
||||
[0.00001234, 0, "0.00001234"],
|
||||
[0.0001234, 0, "0.0001234"],
|
||||
[0.001234, 0, "0.001234"],
|
||||
[0.01234, 0, "0.01234"],
|
||||
[0.1234, 0, "0.1234"],
|
||||
[1.234, 0, "1.234"],
|
||||
[12.34, 0, "12.34"],
|
||||
[123.4, 0, "123.4"],
|
||||
[1234, 0, "1234"],
|
||||
[12340, 0, "12340"],
|
||||
[123400, 0, "123400"],
|
||||
[1234000, 0, "1234000"],
|
||||
[12340000, 0, "12340000"],
|
||||
[123400000, 0, "123400000"],
|
||||
[1234000000, 0, "1234000000"],
|
||||
[12340000000, 0, "12340000000"],
|
||||
[123400000000, 0, "1.234E+11"],
|
||||
[1234000000000, 0, "1.234E+12"],
|
||||
[12340000000000, 0, "1.234E+13"],
|
||||
[123400000000000, 0, "1.234E+14"],
|
||||
|
||||
[0.000000000000012345, 0, "1.2345E-14"],
|
||||
[0.00000000000012345, 0, "1.2345E-13"],
|
||||
[0.0000000000012345, 0, "1.2345E-12"],
|
||||
[0.000000000012345, 0, "1.2345E-11"],
|
||||
[0.00000000012345, 0, "1.2345E-10"],
|
||||
[0.0000000012345, 0, "1.2345E-09"],
|
||||
[0.000000012345, 0, "1.2345E-08"],
|
||||
[0.00000012345, 0, "1.2345E-07"],
|
||||
[0.0000012345, 0, "1.2345E-06"],
|
||||
[0.000012345, 0, "0.000012345"],
|
||||
[0.00012345, 0, "0.00012345"],
|
||||
[0.0012345, 0, "0.0012345"],
|
||||
[0.012345, 0, "0.012345"],
|
||||
[0.12345, 0, "0.12345"],
|
||||
[1.2345, 0, "1.2345"],
|
||||
[12.345, 0, "12.345"],
|
||||
[123.45, 0, "123.45"],
|
||||
[1234.5, 0, "1234.5"],
|
||||
[12345, 0, "12345"],
|
||||
[123450, 0, "123450"],
|
||||
[1234500, 0, "1234500"],
|
||||
[12345000, 0, "12345000"],
|
||||
[123450000, 0, "123450000"],
|
||||
[1234500000, 0, "1234500000"],
|
||||
[12345000000, 0, "12345000000"],
|
||||
[123450000000, 0, "1.2345E+11"],
|
||||
[1234500000000, 0, "1.2345E+12"],
|
||||
[12345000000000, 0, "1.2345E+13"],
|
||||
[123450000000000, 0, "1.2345E+14"],
|
||||
|
||||
[0.0000000000000123456, 0, "1.23456E-14"],
|
||||
[0.000000000000123456, 0, "1.23456E-13"],
|
||||
[0.00000000000123456, 0, "1.23456E-12"],
|
||||
[0.0000000000123456, 0, "1.23456E-11"],
|
||||
[0.000000000123456, 0, "1.23456E-10"],
|
||||
[0.00000000123456, 0, "1.23456E-09"],
|
||||
[0.0000000123456, 0, "1.23456E-08"],
|
||||
[0.000000123456, 0, "1.23456E-07"],
|
||||
[0.00000123456, 0, "1.23456E-06"],
|
||||
[0.0000123456, 0, "1.23456E-05"],
|
||||
[0.000123456, 0, "0.000123456"],
|
||||
[0.00123456, 0, "0.00123456"],
|
||||
[0.0123456, 0, "0.0123456"],
|
||||
[0.123456, 0, "0.123456"],
|
||||
[1.23456, 0, "1.23456"],
|
||||
[12.3456, 0, "12.3456"],
|
||||
[123.456, 0, "123.456"],
|
||||
[1234.56, 0, "1234.56"],
|
||||
[12345.6, 0, "12345.6"],
|
||||
[123456, 0, "123456"],
|
||||
[1234560, 0, "1234560"],
|
||||
[12345600, 0, "12345600"],
|
||||
[123456000, 0, "123456000"],
|
||||
[1234560000, 0, "1234560000"],
|
||||
[12345600000, 0, "12345600000"],
|
||||
[123456000000, 0, "1.23456E+11"],
|
||||
[1234560000000, 0, "1.23456E+12"],
|
||||
[12345600000000, 0, "1.23456E+13"],
|
||||
[123456000000000, 0, "1.23456E+14"],
|
||||
|
||||
[0.00000000000001234567, 0, "1.23457E-14"],
|
||||
[0.0000000000001234567, 0, "1.23457E-13"],
|
||||
[0.000000000001234567, 0, "1.23457E-12"],
|
||||
[0.00000000001234567, 0, "1.23457E-11"],
|
||||
[0.0000000001234567, 0, "1.23457E-10"],
|
||||
[0.000000001234567, 0, "1.23457E-09"],
|
||||
[0.00000001234567, 0, "1.23457E-08"],
|
||||
[0.0000001234567, 0, "1.23457E-07"],
|
||||
[0.000001234567, 0, "1.23457E-06"],
|
||||
[0.00001234567, 0, "1.23457E-05"],
|
||||
[0.0001234567, 0, "0.000123457"],
|
||||
[0.001234567, 0, "0.001234567"],
|
||||
[0.01234567, 0, "0.01234567"],
|
||||
[0.1234567, 0, "0.1234567"],
|
||||
[1.234567, 0, "1.234567"],
|
||||
[12.34567, 0, "12.34567"],
|
||||
[123.4567, 0, "123.4567"],
|
||||
[1234.567, 0, "1234.567"],
|
||||
[12345.67, 0, "12345.67"],
|
||||
[123456.7, 0, "123456.7"],
|
||||
[1234567, 0, "1234567"],
|
||||
[12345670, 0, "12345670"],
|
||||
[123456700, 0, "123456700"],
|
||||
[1234567000, 0, "1234567000"],
|
||||
[12345670000, 0, "12345670000"],
|
||||
[123456700000, 0, "1.23457E+11"],
|
||||
[1234567000000, 0, "1.23457E+12"],
|
||||
[12345670000000, 0, "1.23457E+13"],
|
||||
[123456700000000, 0, "1.23457E+14"],
|
||||
|
||||
[0.000000000000012345678, 0, "1.23457E-14"],
|
||||
[0.00000000000012345678, 0, "1.23457E-13"],
|
||||
[0.0000000000012345678, 0, "1.23457E-12"],
|
||||
[0.000000000012345678, 0, "1.23457E-11"],
|
||||
[0.00000000012345678, 0, "1.23457E-10"],
|
||||
[0.0000000012345678, 0, "1.23457E-09"],
|
||||
[0.000000012345678, 0, "1.23457E-08"],
|
||||
[0.00000012345678, 0, "1.23457E-07"],
|
||||
[0.0000012345678, 0, "1.23457E-06"],
|
||||
[0.000012345678, 0, "1.23457E-05"],
|
||||
[0.00012345678, 0, "0.000123457"],
|
||||
[0.0012345678, 0, "0.001234568"],
|
||||
[0.012345678, 0, "0.012345678"],
|
||||
[0.12345678, 0, "0.12345678"],
|
||||
[1.2345678, 0, "1.2345678"],
|
||||
[12.345678, 0, "12.345678"],
|
||||
[123.45678, 0, "123.45678"],
|
||||
[1234.5678, 0, "1234.5678"],
|
||||
[12345.678, 0, "12345.678"],
|
||||
[123456.78, 0, "123456.78"],
|
||||
[1234567.8, 0, "1234567.8"],
|
||||
[12345678, 0, "12345678"],
|
||||
[123456780, 0, "123456780"],
|
||||
[1234567800, 0, "1234567800"],
|
||||
[12345678000, 0, "12345678000"],
|
||||
[123456780000, 0, "1.23457E+11"],
|
||||
[1234567800000, 0, "1.23457E+12"],
|
||||
[12345678000000, 0, "1.23457E+13"],
|
||||
[123456780000000, 0, "1.23457E+14"],
|
||||
|
||||
[0.0000000000000123456789, 0, "1.23457E-14"],
|
||||
[0.000000000000123456789, 0, "1.23457E-13"],
|
||||
[0.00000000000123456789, 0, "1.23457E-12"],
|
||||
[0.0000000000123456789, 0, "1.23457E-11"],
|
||||
[0.000000000123456789, 0, "1.23457E-10"],
|
||||
[0.00000000123456789, 0, "1.23457E-09"],
|
||||
[0.0000000123456789, 0, "1.23457E-08"],
|
||||
[0.000000123456789, 0, "1.23457E-07"],
|
||||
[0.00000123456789, 0, "1.23457E-06"],
|
||||
[0.0000123456789, 0, "1.23457E-05"],
|
||||
[0.000123456789, 0, "0.000123457"],
|
||||
[0.00123456789, 0, "0.001234568"],
|
||||
[0.0123456789, 0, "0.012345679"],
|
||||
[0.123456789, 0, "0.123456789"],
|
||||
[1.23456789, 0, "1.23456789"],
|
||||
[12.3456789, 0, "12.3456789"],
|
||||
[123.456789, 0, "123.456789"],
|
||||
[1234.56789, 0, "1234.56789"],
|
||||
[12345.6789, 0, "12345.6789"],
|
||||
[123456.789, 0, "123456.789"],
|
||||
[1234567.89, 0, "1234567.89"],
|
||||
[12345678.9, 0, "12345678.9"],
|
||||
[123456789, 0, "123456789"],
|
||||
[1234567890, 0, "1234567890"],
|
||||
[12345678900, 0, "12345678900"],
|
||||
[123456789000, 0, "1.23457E+11"],
|
||||
[1234567890000, 0, "1.23457E+12"],
|
||||
[12345678900000, 0, "1.23457E+13"],
|
||||
[123456789000000, 0, "1.23457E+14"],
|
||||
|
||||
[0.00000000000001234567891, 0, "1.23457E-14"],
|
||||
[0.0000000000001234567891, 0, "1.23457E-13"],
|
||||
[0.000000000001234567891, 0, "1.23457E-12"],
|
||||
[0.00000000001234567891, 0, "1.23457E-11"],
|
||||
[0.0000000001234567891, 0, "1.23457E-10"],
|
||||
[0.000000001234567891, 0, "1.23457E-09"],
|
||||
[0.00000001234567891, 0, "1.23457E-08"],
|
||||
[0.0000001234567891, 0, "1.23457E-07"],
|
||||
[0.000001234567891, 0, "1.23457E-06"],
|
||||
[0.00001234567891, 0, "1.23457E-05"],
|
||||
[0.0001234567891, 0, "0.000123457"],
|
||||
[0.001234567891, 0, "0.001234568"],
|
||||
[0.01234567891, 0, "0.012345679"],
|
||||
[0.1234567891, 0, "0.123456789"],
|
||||
[1.234567891, 0, "1.234567891"],
|
||||
[12.34567891, 0, "12.34567891"],
|
||||
[123.4567891, 0, "123.4567891"],
|
||||
[1234.567891, 0, "1234.567891"],
|
||||
[12345.67891, 0, "12345.67891"],
|
||||
[123456.7891, 0, "123456.7891"],
|
||||
[1234567.891, 0, "1234567.891"],
|
||||
[12345678.91, 0, "12345678.91"],
|
||||
[123456789.1, 0, "123456789.1"],
|
||||
[1234567891, 0, "1234567891"],
|
||||
[12345678910, 0, "12345678910"],
|
||||
[123456789100, 0, "1.23457E+11"],
|
||||
[1234567891000, 0, "1.23457E+12"],
|
||||
[12345678910000, 0, "1.23457E+13"],
|
||||
[123456789100000, 0, "1.23457E+14"],
|
||||
|
||||
[0.000000000000012345678912, 0, "1.23457E-14"],
|
||||
[0.00000000000012345678912, 0, "1.23457E-13"],
|
||||
[0.0000000000012345678912, 0, "1.23457E-12"],
|
||||
[0.000000000012345678912, 0, "1.23457E-11"],
|
||||
[0.00000000012345678912, 0, "1.23457E-10"],
|
||||
[0.0000000012345678912, 0, "1.23457E-09"],
|
||||
[0.000000012345678912, 0, "1.23457E-08"],
|
||||
[0.00000012345678912, 0, "1.23457E-07"],
|
||||
[0.0000012345678912, 0, "1.23457E-06"],
|
||||
[0.000012345678912, 0, "1.23457E-05"],
|
||||
[0.00012345678912, 0, "0.000123457"],
|
||||
[0.0012345678912, 0, "0.001234568"],
|
||||
[0.012345678912, 0, "0.012345679"],
|
||||
[0.12345678912, 0, "0.123456789"],
|
||||
[1.2345678912, 0, "1.234567891"],
|
||||
[12.345678912, 0, "12.34567891"],
|
||||
[123.45678912, 0, "123.4567891"],
|
||||
[1234.5678912, 0, "1234.567891"],
|
||||
[12345.678912, 0, "12345.67891"],
|
||||
[123456.78912, 0, "123456.7891"],
|
||||
[1234567.8912, 0, "1234567.891"],
|
||||
[12345678.912, 0, "12345678.91"],
|
||||
[123456789.12, 0, "123456789.1"],
|
||||
[1234567891.2, 0, "1234567891"],
|
||||
[12345678912, 0, "12345678912"],
|
||||
[123456789120, 0, "1.23457E+11"],
|
||||
[1234567891200, 0, "1.23457E+12"],
|
||||
[12345678912000, 0, "1.23457E+13"],
|
||||
[123456789120000, 0, "1.23457E+14"],
|
||||
|
||||
[0.0000000000000123456789123, 0, "1.23457E-14"],
|
||||
[0.000000000000123456789123, 0, "1.23457E-13"],
|
||||
[0.00000000000123456789123, 0, "1.23457E-12"],
|
||||
[0.0000000000123456789123, 0, "1.23457E-11"],
|
||||
[0.000000000123456789123, 0, "1.23457E-10"],
|
||||
[0.00000000123456789123, 0, "1.23457E-09"],
|
||||
[0.0000000123456789123, 0, "1.23457E-08"],
|
||||
[0.000000123456789123, 0, "1.23457E-07"],
|
||||
[0.00000123456789123, 0, "1.23457E-06"],
|
||||
[0.0000123456789123, 0, "1.23457E-05"],
|
||||
[0.000123456789123, 0, "0.000123457"],
|
||||
[0.00123456789123, 0, "0.001234568"],
|
||||
[0.0123456789123, 0, "0.012345679"],
|
||||
[0.123456789123, 0, "0.123456789"],
|
||||
[1.23456789123, 0, "1.234567891"],
|
||||
[12.3456789123, 0, "12.34567891"],
|
||||
[123.456789123, 0, "123.4567891"],
|
||||
[1234.56789123, 0, "1234.567891"],
|
||||
[12345.6789123, 0, "12345.67891"],
|
||||
[123456.789123, 0, "123456.7891"],
|
||||
[1234567.89123, 0, "1234567.891"],
|
||||
[12345678.9123, 0, "12345678.91"],
|
||||
[123456789.123, 0, "123456789.1"],
|
||||
[1234567891.23, 0, "1234567891"],
|
||||
[12345678912.3, 0, "12345678912"],
|
||||
[123456789123, 0, "1.23457E+11"],
|
||||
[1234567891230, 0, "1.23457E+12"],
|
||||
[12345678912300, 0, "1.23457E+13"],
|
||||
[123456789123000, 0, "1.23457E+14"],
|
||||
|
||||
[0.00000000000001234567891234, 0, "1.23457E-14"],
|
||||
[0.0000000000001234567891234, 0, "1.23457E-13"],
|
||||
[0.000000000001234567891234, 0, "1.23457E-12"],
|
||||
[0.00000000001234567891234, 0, "1.23457E-11"],
|
||||
[0.0000000001234567891234, 0, "1.23457E-10"],
|
||||
[0.000000001234567891234, 0, "1.23457E-09"],
|
||||
[0.00000001234567891234, 0, "1.23457E-08"],
|
||||
[0.0000001234567891234, 0, "1.23457E-07"],
|
||||
[0.000001234567891234, 0, "1.23457E-06"],
|
||||
[0.00001234567891234, 0, "1.23457E-05"],
|
||||
[0.0001234567891234, 0, "0.000123457"],
|
||||
[0.001234567891234, 0, "0.001234568"],
|
||||
[0.01234567891234, 0, "0.012345679"],
|
||||
[0.1234567891234, 0, "0.123456789"],
|
||||
[1.234567891234, 0, "1.234567891"],
|
||||
[12.34567891234, 0, "12.34567891"],
|
||||
[123.4567891234, 0, "123.4567891"],
|
||||
[1234.567891234, 0, "1234.567891"],
|
||||
[12345.67891234, 0, "12345.67891"],
|
||||
[123456.7891234, 0, "123456.7891"],
|
||||
[1234567.891234, 0, "1234567.891"],
|
||||
[12345678.91234, 0, "12345678.91"],
|
||||
[123456789.1234, 0, "123456789.1"],
|
||||
[1234567891.234, 0, "1234567891"],
|
||||
[12345678912.34, 0, "12345678912"],
|
||||
[123456789123.4, 0, "1.23457E+11"],
|
||||
[1234567891234, 0, "1.23457E+12"],
|
||||
[12345678912340, 0, "1.23457E+13"],
|
||||
[123456789123400, 0, "1.23457E+14"],
|
||||
|
||||
[0.000000000000012345678912345, 0, "1.23457E-14"],
|
||||
[0.00000000000012345678912345, 0, "1.23457E-13"],
|
||||
[0.0000000000012345678912345, 0, "1.23457E-12"],
|
||||
[0.000000000012345678912345, 0, "1.23457E-11"],
|
||||
[0.00000000012345678912345, 0, "1.23457E-10"],
|
||||
[0.0000000012345678912345, 0, "1.23457E-09"],
|
||||
[0.000000012345678912345, 0, "1.23457E-08"],
|
||||
[0.00000012345678912345, 0, "1.23457E-07"],
|
||||
[0.0000012345678912345, 0, "1.23457E-06"],
|
||||
[0.000012345678912345, 0, "1.23457E-05"],
|
||||
[0.00012345678912345, 0, "0.000123457"],
|
||||
[0.0012345678912345, 0, "0.001234568"],
|
||||
[0.012345678912345, 0, "0.012345679"],
|
||||
[0.12345678912345, 0, "0.123456789"],
|
||||
[1.2345678912345, 0, "1.234567891"],
|
||||
[12.345678912345, 0, "12.34567891"],
|
||||
[123.45678912345, 0, "123.4567891"],
|
||||
[1234.5678912345, 0, "1234.567891"],
|
||||
[12345.678912345, 0, "12345.67891"],
|
||||
[123456.78912345, 0, "123456.7891"],
|
||||
[1234567.8912345, 0, "1234567.891"],
|
||||
[12345678.912345, 0, "12345678.91"],
|
||||
[123456789.12345, 0, "123456789.1"],
|
||||
[1234567891.2345, 0, "1234567891"],
|
||||
[12345678912.345, 0, "12345678912"],
|
||||
[123456789123.45, 0, "1.23457E+11"],
|
||||
[1234567891234.5, 0, "1.23457E+12"],
|
||||
[12345678912345, 0, "1.23457E+13"],
|
||||
[123456789123450, 0, "1.23457E+14"],
|
||||
|
||||
[0.0000000000000123456789123456, 0, "1.23457E-14"],
|
||||
[0.000000000000123456789123456, 0, "1.23457E-13"],
|
||||
[0.00000000000123456789123456, 0, "1.23457E-12"],
|
||||
[0.0000000000123456789123456, 0, "1.23457E-11"],
|
||||
[0.000000000123456789123456, 0, "1.23457E-10"],
|
||||
[0.00000000123456789123456, 0, "1.23457E-09"],
|
||||
[0.0000000123456789123456, 0, "1.23457E-08"],
|
||||
[0.000000123456789123456, 0, "1.23457E-07"],
|
||||
[0.00000123456789123456, 0, "1.23457E-06"],
|
||||
[0.0000123456789123456, 0, "1.23457E-05"],
|
||||
[0.000123456789123456, 0, "0.000123457"],
|
||||
[0.00123456789123456, 0, "0.001234568"],
|
||||
[0.0123456789123456, 0, "0.012345679"],
|
||||
[0.123456789123456, 0, "0.123456789"],
|
||||
[1.23456789123456, 0, "1.234567891"],
|
||||
[12.3456789123456, 0, "12.34567891"],
|
||||
[123.456789123456, 0, "123.4567891"],
|
||||
[1234.56789123456, 0, "1234.567891"],
|
||||
[12345.6789123456, 0, "12345.67891"],
|
||||
[123456.789123456, 0, "123456.7891"],
|
||||
[1234567.89123456, 0, "1234567.891"],
|
||||
[12345678.9123456, 0, "12345678.91"],
|
||||
[123456789.123456, 0, "123456789.1"],
|
||||
[1234567891.23456, 0, "1234567891"],
|
||||
[12345678912.3456, 0, "12345678912"],
|
||||
[123456789123.456, 0, "1.23457E+11"],
|
||||
[1234567891234.56, 0, "1.23457E+12"],
|
||||
[12345678912345.6, 0, "1.23457E+13"],
|
||||
[123456789123456, 0, "1.23457E+14"],
|
||||
|
||||
[-0.00000000000001234567, 0, "-1.23457E-14"],
|
||||
[-0.0000000000001234567, 0, "-1.23457E-13"],
|
||||
[-0.000000000001234567, 0, "-1.23457E-12"],
|
||||
[-0.00000000001234567, 0, "-1.23457E-11"],
|
||||
[-0.0000000001234567, 0, "-1.23457E-10"],
|
||||
[-0.000000001234567, 0, "-1.23457E-09"],
|
||||
[-0.00000001234567, 0, "-1.23457E-08"],
|
||||
[-0.0000001234567, 0, "-1.23457E-07"],
|
||||
[-0.000001234567, 0, "-1.23457E-06"],
|
||||
[-0.00001234567, 0, "-1.23457E-05"],
|
||||
[-0.0001234567, 0, "-0.000123457"],
|
||||
[-0.001234567, 0, "-0.001234567"],
|
||||
[-0.01234567, 0, "-0.01234567"],
|
||||
[-0.1234567, 0, "-0.1234567"],
|
||||
[-1.234567, 0, "-1.234567"],
|
||||
[-12.34567, 0, "-12.34567"],
|
||||
[-123.4567, 0, "-123.4567"],
|
||||
[-1234.567, 0, "-1234.567"],
|
||||
[-12345.67, 0, "-12345.67"],
|
||||
[-123456.7, 0, "-123456.7"],
|
||||
[-1234567, 0, "-1234567"],
|
||||
[-12345670, 0, "-12345670"],
|
||||
[-123456700, 0, "-123456700"],
|
||||
[-1234567000, 0, "-1234567000"],
|
||||
[-12345670000, 0, "-12345670000"],
|
||||
[-123456700000, 0, "-1.23457E+11"],
|
||||
[-1234567000000, 0, "-1.23457E+12"],
|
||||
[-12345670000000, 0, "-1.23457E+13"],
|
||||
[-123456700000000, 0, "-1.23457E+14"],
|
||||
|
||||
[true, 0, "TRUE"],
|
||||
[false, 0, "FALSE"],
|
||||
|
||||
["sheetjs", 0, "sheetjs"]
|
||||
]
|
@ -57,519 +57,6 @@
|
||||
[-12345.6789, 48, "-12.3E+3"],
|
||||
[-12345.6789, 49, "-12345.6789"],
|
||||
|
||||
[1.234567E-14, 0, "1.23457E-14"],
|
||||
[1.234567E-13, 0, "1.23457E-13"],
|
||||
[1.234567E-12, 0, "1.23457E-12"],
|
||||
[1.234567E-11, 0, "1.23457E-11"],
|
||||
[1.234567E-10, 0, "1.23457E-10"],
|
||||
[1.234567E-9, 0, "1.23457E-09"],
|
||||
[1.234567E-8, 0, "1.23457E-08"],
|
||||
[1.234567E-7, 0, "1.23457E-07"],
|
||||
[1.234567E-6, 0, "1.23457E-06"],
|
||||
[1.234567E-5, 0, "1.23457E-05"],
|
||||
[1.234567E-4, 0, "0.000123457"],
|
||||
[1.234567E-3, 0, "0.001234567"],
|
||||
[1.234567E-2, 0, "0.01234567"],
|
||||
[1.234567E-1, 0, "0.1234567"],
|
||||
[1.234567E0, 0, "1.234567"],
|
||||
[1.234567E1, 0, "12.34567"],
|
||||
[1.234567E2, 0, "123.4567"],
|
||||
[1.234567E3, 0, "1234.567"],
|
||||
[1.234567E4, 0, "12345.67"],
|
||||
[1.234567E5, 0, "123456.7"],
|
||||
[1.234567E6, 0, "1234567"],
|
||||
[1.234567E7, 0, "12345670"],
|
||||
[1.234567E8, 0, "123456700"],
|
||||
[1.234567E9, 0, "1234567000"],
|
||||
[1.234567E10, 0, "12345670000"],
|
||||
[1.234567E11, 0, "1.23457E+11"],
|
||||
[1.234567E12, 0, "1.23457E+12"],
|
||||
[1.234567E13, 0, "1.23457E+13"],
|
||||
[1.234567E14, 0, "1.23457E+14"],
|
||||
|
||||
[0.00000000000001, 0, "1E-14"],
|
||||
[0.0000000000001, 0, "1E-13"],
|
||||
[0.000000000001, 0, "1E-12"],
|
||||
[0.00000000001, 0, "1E-11"],
|
||||
[0.0000000001, 0, "1E-10"],
|
||||
[0.000000001, 0, "0.000000001"],
|
||||
[0.00000001, 0, "0.00000001"],
|
||||
[0.0000001, 0, "0.0000001"],
|
||||
[0.000001, 0, "0.000001"],
|
||||
[0.00001, 0, "0.00001"],
|
||||
[0.0001, 0, "0.0001"],
|
||||
[0.001, 0, "0.001"],
|
||||
[0.01, 0, "0.01"],
|
||||
[0.1, 0, "0.1"],
|
||||
[1, 0, "1"],
|
||||
[10, 0, "10"],
|
||||
[100, 0, "100"],
|
||||
[1000, 0, "1000"],
|
||||
[10000, 0, "10000"],
|
||||
[100000, 0, "100000"],
|
||||
[1000000, 0, "1000000"],
|
||||
[10000000, 0, "10000000"],
|
||||
[100000000, 0, "100000000"],
|
||||
[1000000000, 0, "1000000000"],
|
||||
[10000000000, 0, "10000000000"],
|
||||
[100000000000, 0, "1E+11"],
|
||||
[1000000000000, 0, "1E+12"],
|
||||
[10000000000000, 0, "1E+13"],
|
||||
[100000000000000, 0, "1E+14"],
|
||||
|
||||
[0.000000000000012, 0, "1.2E-14"],
|
||||
[0.00000000000012, 0, "1.2E-13"],
|
||||
[0.0000000000012, 0, "1.2E-12"],
|
||||
[0.000000000012, 0, "1.2E-11"],
|
||||
[0.00000000012, 0, "1.2E-10"],
|
||||
[0.0000000012, 0, "1.2E-09"],
|
||||
[0.000000012, 0, "0.000000012"],
|
||||
[0.00000012, 0, "0.00000012"],
|
||||
[0.0000012, 0, "0.0000012"],
|
||||
[0.000012, 0, "0.000012"],
|
||||
[0.00012, 0, "0.00012"],
|
||||
[0.0012, 0, "0.0012"],
|
||||
[0.012, 0, "0.012"],
|
||||
[0.12, 0, "0.12"],
|
||||
[1.2, 0, "1.2"],
|
||||
[12, 0, "12"],
|
||||
[120, 0, "120"],
|
||||
[1200, 0, "1200"],
|
||||
[12000, 0, "12000"],
|
||||
[120000, 0, "120000"],
|
||||
[1200000, 0, "1200000"],
|
||||
[12000000, 0, "12000000"],
|
||||
[120000000, 0, "120000000"],
|
||||
[1200000000, 0, "1200000000"],
|
||||
[12000000000, 0, "12000000000"],
|
||||
[120000000000, 0, "1.2E+11"],
|
||||
[1200000000000, 0, "1.2E+12"],
|
||||
[12000000000000, 0, "1.2E+13"],
|
||||
[120000000000000, 0, "1.2E+14"],
|
||||
|
||||
[0.0000000000000123, 0, "1.23E-14"],
|
||||
[0.000000000000123, 0, "1.23E-13"],
|
||||
[0.00000000000123, 0, "1.23E-12"],
|
||||
[0.0000000000123, 0, "1.23E-11"],
|
||||
[0.000000000123, 0, "1.23E-10"],
|
||||
[0.00000000123, 0, "1.23E-09"],
|
||||
[0.0000000123, 0, "1.23E-08"],
|
||||
[0.000000123, 0, "0.000000123"],
|
||||
[0.00000123, 0, "0.00000123"],
|
||||
[0.0000123, 0, "0.0000123"],
|
||||
[0.000123, 0, "0.000123"],
|
||||
[0.00123, 0, "0.00123"],
|
||||
[0.0123, 0, "0.0123"],
|
||||
[0.123, 0, "0.123"],
|
||||
[1.23, 0, "1.23"],
|
||||
[12.3, 0, "12.3"],
|
||||
[123, 0, "123"],
|
||||
[1230, 0, "1230"],
|
||||
[12300, 0, "12300"],
|
||||
[123000, 0, "123000"],
|
||||
[1230000, 0, "1230000"],
|
||||
[12300000, 0, "12300000"],
|
||||
[123000000, 0, "123000000"],
|
||||
[1230000000, 0, "1230000000"],
|
||||
[12300000000, 0, "12300000000"],
|
||||
[123000000000, 0, "1.23E+11"],
|
||||
[1230000000000, 0, "1.23E+12"],
|
||||
[12300000000000, 0, "1.23E+13"],
|
||||
[123000000000000, 0, "1.23E+14"],
|
||||
|
||||
[0.00000000000001234, 0, "1.234E-14"],
|
||||
[0.0000000000001234, 0, "1.234E-13"],
|
||||
[0.000000000001234, 0, "1.234E-12"],
|
||||
[0.00000000001234, 0, "1.234E-11"],
|
||||
[0.0000000001234, 0, "1.234E-10"],
|
||||
[0.000000001234, 0, "1.234E-09"],
|
||||
[0.00000001234, 0, "1.234E-08"],
|
||||
[0.0000001234, 0, "1.234E-07"],
|
||||
[0.000001234, 0, "0.000001234"],
|
||||
[0.00001234, 0, "0.00001234"],
|
||||
[0.0001234, 0, "0.0001234"],
|
||||
[0.001234, 0, "0.001234"],
|
||||
[0.01234, 0, "0.01234"],
|
||||
[0.1234, 0, "0.1234"],
|
||||
[1.234, 0, "1.234"],
|
||||
[12.34, 0, "12.34"],
|
||||
[123.4, 0, "123.4"],
|
||||
[1234, 0, "1234"],
|
||||
[12340, 0, "12340"],
|
||||
[123400, 0, "123400"],
|
||||
[1234000, 0, "1234000"],
|
||||
[12340000, 0, "12340000"],
|
||||
[123400000, 0, "123400000"],
|
||||
[1234000000, 0, "1234000000"],
|
||||
[12340000000, 0, "12340000000"],
|
||||
[123400000000, 0, "1.234E+11"],
|
||||
[1234000000000, 0, "1.234E+12"],
|
||||
[12340000000000, 0, "1.234E+13"],
|
||||
[123400000000000, 0, "1.234E+14"],
|
||||
|
||||
[0.000000000000012345, 0, "1.2345E-14"],
|
||||
[0.00000000000012345, 0, "1.2345E-13"],
|
||||
[0.0000000000012345, 0, "1.2345E-12"],
|
||||
[0.000000000012345, 0, "1.2345E-11"],
|
||||
[0.00000000012345, 0, "1.2345E-10"],
|
||||
[0.0000000012345, 0, "1.2345E-09"],
|
||||
[0.000000012345, 0, "1.2345E-08"],
|
||||
[0.00000012345, 0, "1.2345E-07"],
|
||||
[0.0000012345, 0, "1.2345E-06"],
|
||||
[0.000012345, 0, "0.000012345"],
|
||||
[0.00012345, 0, "0.00012345"],
|
||||
[0.0012345, 0, "0.0012345"],
|
||||
[0.012345, 0, "0.012345"],
|
||||
[0.12345, 0, "0.12345"],
|
||||
[1.2345, 0, "1.2345"],
|
||||
[12.345, 0, "12.345"],
|
||||
[123.45, 0, "123.45"],
|
||||
[1234.5, 0, "1234.5"],
|
||||
[12345, 0, "12345"],
|
||||
[123450, 0, "123450"],
|
||||
[1234500, 0, "1234500"],
|
||||
[12345000, 0, "12345000"],
|
||||
[123450000, 0, "123450000"],
|
||||
[1234500000, 0, "1234500000"],
|
||||
[12345000000, 0, "12345000000"],
|
||||
[123450000000, 0, "1.2345E+11"],
|
||||
[1234500000000, 0, "1.2345E+12"],
|
||||
[12345000000000, 0, "1.2345E+13"],
|
||||
[123450000000000, 0, "1.2345E+14"],
|
||||
|
||||
[0.0000000000000123456, 0, "1.23456E-14"],
|
||||
[0.000000000000123456, 0, "1.23456E-13"],
|
||||
[0.00000000000123456, 0, "1.23456E-12"],
|
||||
[0.0000000000123456, 0, "1.23456E-11"],
|
||||
[0.000000000123456, 0, "1.23456E-10"],
|
||||
[0.00000000123456, 0, "1.23456E-09"],
|
||||
[0.0000000123456, 0, "1.23456E-08"],
|
||||
[0.000000123456, 0, "1.23456E-07"],
|
||||
[0.00000123456, 0, "1.23456E-06"],
|
||||
[0.0000123456, 0, "1.23456E-05"],
|
||||
[0.000123456, 0, "0.000123456"],
|
||||
[0.00123456, 0, "0.00123456"],
|
||||
[0.0123456, 0, "0.0123456"],
|
||||
[0.123456, 0, "0.123456"],
|
||||
[1.23456, 0, "1.23456"],
|
||||
[12.3456, 0, "12.3456"],
|
||||
[123.456, 0, "123.456"],
|
||||
[1234.56, 0, "1234.56"],
|
||||
[12345.6, 0, "12345.6"],
|
||||
[123456, 0, "123456"],
|
||||
[1234560, 0, "1234560"],
|
||||
[12345600, 0, "12345600"],
|
||||
[123456000, 0, "123456000"],
|
||||
[1234560000, 0, "1234560000"],
|
||||
[12345600000, 0, "12345600000"],
|
||||
[123456000000, 0, "1.23456E+11"],
|
||||
[1234560000000, 0, "1.23456E+12"],
|
||||
[12345600000000, 0, "1.23456E+13"],
|
||||
[123456000000000, 0, "1.23456E+14"],
|
||||
|
||||
[0.00000000000001234567, 0, "1.23457E-14"],
|
||||
[0.0000000000001234567, 0, "1.23457E-13"],
|
||||
[0.000000000001234567, 0, "1.23457E-12"],
|
||||
[0.00000000001234567, 0, "1.23457E-11"],
|
||||
[0.0000000001234567, 0, "1.23457E-10"],
|
||||
[0.000000001234567, 0, "1.23457E-09"],
|
||||
[0.00000001234567, 0, "1.23457E-08"],
|
||||
[0.0000001234567, 0, "1.23457E-07"],
|
||||
[0.000001234567, 0, "1.23457E-06"],
|
||||
[0.00001234567, 0, "1.23457E-05"],
|
||||
[0.0001234567, 0, "0.000123457"],
|
||||
[0.001234567, 0, "0.001234567"],
|
||||
[0.01234567, 0, "0.01234567"],
|
||||
[0.1234567, 0, "0.1234567"],
|
||||
[1.234567, 0, "1.234567"],
|
||||
[12.34567, 0, "12.34567"],
|
||||
[123.4567, 0, "123.4567"],
|
||||
[1234.567, 0, "1234.567"],
|
||||
[12345.67, 0, "12345.67"],
|
||||
[123456.7, 0, "123456.7"],
|
||||
[1234567, 0, "1234567"],
|
||||
[12345670, 0, "12345670"],
|
||||
[123456700, 0, "123456700"],
|
||||
[1234567000, 0, "1234567000"],
|
||||
[12345670000, 0, "12345670000"],
|
||||
[123456700000, 0, "1.23457E+11"],
|
||||
[1234567000000, 0, "1.23457E+12"],
|
||||
[12345670000000, 0, "1.23457E+13"],
|
||||
[123456700000000, 0, "1.23457E+14"],
|
||||
|
||||
[0.000000000000012345678, 0, "1.23457E-14"],
|
||||
[0.00000000000012345678, 0, "1.23457E-13"],
|
||||
[0.0000000000012345678, 0, "1.23457E-12"],
|
||||
[0.000000000012345678, 0, "1.23457E-11"],
|
||||
[0.00000000012345678, 0, "1.23457E-10"],
|
||||
[0.0000000012345678, 0, "1.23457E-09"],
|
||||
[0.000000012345678, 0, "1.23457E-08"],
|
||||
[0.00000012345678, 0, "1.23457E-07"],
|
||||
[0.0000012345678, 0, "1.23457E-06"],
|
||||
[0.000012345678, 0, "1.23457E-05"],
|
||||
[0.00012345678, 0, "0.000123457"],
|
||||
[0.0012345678, 0, "0.001234568"],
|
||||
[0.012345678, 0, "0.012345678"],
|
||||
[0.12345678, 0, "0.12345678"],
|
||||
[1.2345678, 0, "1.2345678"],
|
||||
[12.345678, 0, "12.345678"],
|
||||
[123.45678, 0, "123.45678"],
|
||||
[1234.5678, 0, "1234.5678"],
|
||||
[12345.678, 0, "12345.678"],
|
||||
[123456.78, 0, "123456.78"],
|
||||
[1234567.8, 0, "1234567.8"],
|
||||
[12345678, 0, "12345678"],
|
||||
[123456780, 0, "123456780"],
|
||||
[1234567800, 0, "1234567800"],
|
||||
[12345678000, 0, "12345678000"],
|
||||
[123456780000, 0, "1.23457E+11"],
|
||||
[1234567800000, 0, "1.23457E+12"],
|
||||
[12345678000000, 0, "1.23457E+13"],
|
||||
[123456780000000, 0, "1.23457E+14"],
|
||||
|
||||
[0.0000000000000123456789, 0, "1.23457E-14"],
|
||||
[0.000000000000123456789, 0, "1.23457E-13"],
|
||||
[0.00000000000123456789, 0, "1.23457E-12"],
|
||||
[0.0000000000123456789, 0, "1.23457E-11"],
|
||||
[0.000000000123456789, 0, "1.23457E-10"],
|
||||
[0.00000000123456789, 0, "1.23457E-09"],
|
||||
[0.0000000123456789, 0, "1.23457E-08"],
|
||||
[0.000000123456789, 0, "1.23457E-07"],
|
||||
[0.00000123456789, 0, "1.23457E-06"],
|
||||
[0.0000123456789, 0, "1.23457E-05"],
|
||||
[0.000123456789, 0, "0.000123457"],
|
||||
[0.00123456789, 0, "0.001234568"],
|
||||
[0.0123456789, 0, "0.012345679"],
|
||||
[0.123456789, 0, "0.123456789"],
|
||||
[1.23456789, 0, "1.23456789"],
|
||||
[12.3456789, 0, "12.3456789"],
|
||||
[123.456789, 0, "123.456789"],
|
||||
[1234.56789, 0, "1234.56789"],
|
||||
[12345.6789, 0, "12345.6789"],
|
||||
[123456.789, 0, "123456.789"],
|
||||
[1234567.89, 0, "1234567.89"],
|
||||
[12345678.9, 0, "12345678.9"],
|
||||
[123456789, 0, "123456789"],
|
||||
[1234567890, 0, "1234567890"],
|
||||
[12345678900, 0, "12345678900"],
|
||||
[123456789000, 0, "1.23457E+11"],
|
||||
[1234567890000, 0, "1.23457E+12"],
|
||||
[12345678900000, 0, "1.23457E+13"],
|
||||
[123456789000000, 0, "1.23457E+14"],
|
||||
|
||||
[0.00000000000001234567891, 0, "1.23457E-14"],
|
||||
[0.0000000000001234567891, 0, "1.23457E-13"],
|
||||
[0.000000000001234567891, 0, "1.23457E-12"],
|
||||
[0.00000000001234567891, 0, "1.23457E-11"],
|
||||
[0.0000000001234567891, 0, "1.23457E-10"],
|
||||
[0.000000001234567891, 0, "1.23457E-09"],
|
||||
[0.00000001234567891, 0, "1.23457E-08"],
|
||||
[0.0000001234567891, 0, "1.23457E-07"],
|
||||
[0.000001234567891, 0, "1.23457E-06"],
|
||||
[0.00001234567891, 0, "1.23457E-05"],
|
||||
[0.0001234567891, 0, "0.000123457"],
|
||||
[0.001234567891, 0, "0.001234568"],
|
||||
[0.01234567891, 0, "0.012345679"],
|
||||
[0.1234567891, 0, "0.123456789"],
|
||||
[1.234567891, 0, "1.234567891"],
|
||||
[12.34567891, 0, "12.34567891"],
|
||||
[123.4567891, 0, "123.4567891"],
|
||||
[1234.567891, 0, "1234.567891"],
|
||||
[12345.67891, 0, "12345.67891"],
|
||||
[123456.7891, 0, "123456.7891"],
|
||||
[1234567.891, 0, "1234567.891"],
|
||||
[12345678.91, 0, "12345678.91"],
|
||||
[123456789.1, 0, "123456789.1"],
|
||||
[1234567891, 0, "1234567891"],
|
||||
[12345678910, 0, "12345678910"],
|
||||
[123456789100, 0, "1.23457E+11"],
|
||||
[1234567891000, 0, "1.23457E+12"],
|
||||
[12345678910000, 0, "1.23457E+13"],
|
||||
[123456789100000, 0, "1.23457E+14"],
|
||||
|
||||
[0.000000000000012345678912, 0, "1.23457E-14"],
|
||||
[0.00000000000012345678912, 0, "1.23457E-13"],
|
||||
[0.0000000000012345678912, 0, "1.23457E-12"],
|
||||
[0.000000000012345678912, 0, "1.23457E-11"],
|
||||
[0.00000000012345678912, 0, "1.23457E-10"],
|
||||
[0.0000000012345678912, 0, "1.23457E-09"],
|
||||
[0.000000012345678912, 0, "1.23457E-08"],
|
||||
[0.00000012345678912, 0, "1.23457E-07"],
|
||||
[0.0000012345678912, 0, "1.23457E-06"],
|
||||
[0.000012345678912, 0, "1.23457E-05"],
|
||||
[0.00012345678912, 0, "0.000123457"],
|
||||
[0.0012345678912, 0, "0.001234568"],
|
||||
[0.012345678912, 0, "0.012345679"],
|
||||
[0.12345678912, 0, "0.123456789"],
|
||||
[1.2345678912, 0, "1.234567891"],
|
||||
[12.345678912, 0, "12.34567891"],
|
||||
[123.45678912, 0, "123.4567891"],
|
||||
[1234.5678912, 0, "1234.567891"],
|
||||
[12345.678912, 0, "12345.67891"],
|
||||
[123456.78912, 0, "123456.7891"],
|
||||
[1234567.8912, 0, "1234567.891"],
|
||||
[12345678.912, 0, "12345678.91"],
|
||||
[123456789.12, 0, "123456789.1"],
|
||||
[1234567891.2, 0, "1234567891"],
|
||||
[12345678912, 0, "12345678912"],
|
||||
[123456789120, 0, "1.23457E+11"],
|
||||
[1234567891200, 0, "1.23457E+12"],
|
||||
[12345678912000, 0, "1.23457E+13"],
|
||||
[123456789120000, 0, "1.23457E+14"],
|
||||
|
||||
[0.0000000000000123456789123, 0, "1.23457E-14"],
|
||||
[0.000000000000123456789123, 0, "1.23457E-13"],
|
||||
[0.00000000000123456789123, 0, "1.23457E-12"],
|
||||
[0.0000000000123456789123, 0, "1.23457E-11"],
|
||||
[0.000000000123456789123, 0, "1.23457E-10"],
|
||||
[0.00000000123456789123, 0, "1.23457E-09"],
|
||||
[0.0000000123456789123, 0, "1.23457E-08"],
|
||||
[0.000000123456789123, 0, "1.23457E-07"],
|
||||
[0.00000123456789123, 0, "1.23457E-06"],
|
||||
[0.0000123456789123, 0, "1.23457E-05"],
|
||||
[0.000123456789123, 0, "0.000123457"],
|
||||
[0.00123456789123, 0, "0.001234568"],
|
||||
[0.0123456789123, 0, "0.012345679"],
|
||||
[0.123456789123, 0, "0.123456789"],
|
||||
[1.23456789123, 0, "1.234567891"],
|
||||
[12.3456789123, 0, "12.34567891"],
|
||||
[123.456789123, 0, "123.4567891"],
|
||||
[1234.56789123, 0, "1234.567891"],
|
||||
[12345.6789123, 0, "12345.67891"],
|
||||
[123456.789123, 0, "123456.7891"],
|
||||
[1234567.89123, 0, "1234567.891"],
|
||||
[12345678.9123, 0, "12345678.91"],
|
||||
[123456789.123, 0, "123456789.1"],
|
||||
[1234567891.23, 0, "1234567891"],
|
||||
[12345678912.3, 0, "12345678912"],
|
||||
[123456789123, 0, "1.23457E+11"],
|
||||
[1234567891230, 0, "1.23457E+12"],
|
||||
[12345678912300, 0, "1.23457E+13"],
|
||||
[123456789123000, 0, "1.23457E+14"],
|
||||
|
||||
[0.00000000000001234567891234, 0, "1.23457E-14"],
|
||||
[0.0000000000001234567891234, 0, "1.23457E-13"],
|
||||
[0.000000000001234567891234, 0, "1.23457E-12"],
|
||||
[0.00000000001234567891234, 0, "1.23457E-11"],
|
||||
[0.0000000001234567891234, 0, "1.23457E-10"],
|
||||
[0.000000001234567891234, 0, "1.23457E-09"],
|
||||
[0.00000001234567891234, 0, "1.23457E-08"],
|
||||
[0.0000001234567891234, 0, "1.23457E-07"],
|
||||
[0.000001234567891234, 0, "1.23457E-06"],
|
||||
[0.00001234567891234, 0, "1.23457E-05"],
|
||||
[0.0001234567891234, 0, "0.000123457"],
|
||||
[0.001234567891234, 0, "0.001234568"],
|
||||
[0.01234567891234, 0, "0.012345679"],
|
||||
[0.1234567891234, 0, "0.123456789"],
|
||||
[1.234567891234, 0, "1.234567891"],
|
||||
[12.34567891234, 0, "12.34567891"],
|
||||
[123.4567891234, 0, "123.4567891"],
|
||||
[1234.567891234, 0, "1234.567891"],
|
||||
[12345.67891234, 0, "12345.67891"],
|
||||
[123456.7891234, 0, "123456.7891"],
|
||||
[1234567.891234, 0, "1234567.891"],
|
||||
[12345678.91234, 0, "12345678.91"],
|
||||
[123456789.1234, 0, "123456789.1"],
|
||||
[1234567891.234, 0, "1234567891"],
|
||||
[12345678912.34, 0, "12345678912"],
|
||||
[123456789123.4, 0, "1.23457E+11"],
|
||||
[1234567891234, 0, "1.23457E+12"],
|
||||
[12345678912340, 0, "1.23457E+13"],
|
||||
[123456789123400, 0, "1.23457E+14"],
|
||||
|
||||
[0.000000000000012345678912345, 0, "1.23457E-14"],
|
||||
[0.00000000000012345678912345, 0, "1.23457E-13"],
|
||||
[0.0000000000012345678912345, 0, "1.23457E-12"],
|
||||
[0.000000000012345678912345, 0, "1.23457E-11"],
|
||||
[0.00000000012345678912345, 0, "1.23457E-10"],
|
||||
[0.0000000012345678912345, 0, "1.23457E-09"],
|
||||
[0.000000012345678912345, 0, "1.23457E-08"],
|
||||
[0.00000012345678912345, 0, "1.23457E-07"],
|
||||
[0.0000012345678912345, 0, "1.23457E-06"],
|
||||
[0.000012345678912345, 0, "1.23457E-05"],
|
||||
[0.00012345678912345, 0, "0.000123457"],
|
||||
[0.0012345678912345, 0, "0.001234568"],
|
||||
[0.012345678912345, 0, "0.012345679"],
|
||||
[0.12345678912345, 0, "0.123456789"],
|
||||
[1.2345678912345, 0, "1.234567891"],
|
||||
[12.345678912345, 0, "12.34567891"],
|
||||
[123.45678912345, 0, "123.4567891"],
|
||||
[1234.5678912345, 0, "1234.567891"],
|
||||
[12345.678912345, 0, "12345.67891"],
|
||||
[123456.78912345, 0, "123456.7891"],
|
||||
[1234567.8912345, 0, "1234567.891"],
|
||||
[12345678.912345, 0, "12345678.91"],
|
||||
[123456789.12345, 0, "123456789.1"],
|
||||
[1234567891.2345, 0, "1234567891"],
|
||||
[12345678912.345, 0, "12345678912"],
|
||||
[123456789123.45, 0, "1.23457E+11"],
|
||||
[1234567891234.5, 0, "1.23457E+12"],
|
||||
[12345678912345, 0, "1.23457E+13"],
|
||||
[123456789123450, 0, "1.23457E+14"],
|
||||
|
||||
[0.0000000000000123456789123456, 0, "1.23457E-14"],
|
||||
[0.000000000000123456789123456, 0, "1.23457E-13"],
|
||||
[0.00000000000123456789123456, 0, "1.23457E-12"],
|
||||
[0.0000000000123456789123456, 0, "1.23457E-11"],
|
||||
[0.000000000123456789123456, 0, "1.23457E-10"],
|
||||
[0.00000000123456789123456, 0, "1.23457E-09"],
|
||||
[0.0000000123456789123456, 0, "1.23457E-08"],
|
||||
[0.000000123456789123456, 0, "1.23457E-07"],
|
||||
[0.00000123456789123456, 0, "1.23457E-06"],
|
||||
[0.0000123456789123456, 0, "1.23457E-05"],
|
||||
[0.000123456789123456, 0, "0.000123457"],
|
||||
[0.00123456789123456, 0, "0.001234568"],
|
||||
[0.0123456789123456, 0, "0.012345679"],
|
||||
[0.123456789123456, 0, "0.123456789"],
|
||||
[1.23456789123456, 0, "1.234567891"],
|
||||
[12.3456789123456, 0, "12.34567891"],
|
||||
[123.456789123456, 0, "123.4567891"],
|
||||
[1234.56789123456, 0, "1234.567891"],
|
||||
[12345.6789123456, 0, "12345.67891"],
|
||||
[123456.789123456, 0, "123456.7891"],
|
||||
[1234567.89123456, 0, "1234567.891"],
|
||||
[12345678.9123456, 0, "12345678.91"],
|
||||
[123456789.123456, 0, "123456789.1"],
|
||||
[1234567891.23456, 0, "1234567891"],
|
||||
[12345678912.3456, 0, "12345678912"],
|
||||
[123456789123.456, 0, "1.23457E+11"],
|
||||
[1234567891234.56, 0, "1.23457E+12"],
|
||||
[12345678912345.6, 0, "1.23457E+13"],
|
||||
[123456789123456, 0, "1.23457E+14"],
|
||||
|
||||
[-0.00000000000001234567, 0, "-1.23457E-14"],
|
||||
[-0.0000000000001234567, 0, "-1.23457E-13"],
|
||||
[-0.000000000001234567, 0, "-1.23457E-12"],
|
||||
[-0.00000000001234567, 0, "-1.23457E-11"],
|
||||
[-0.0000000001234567, 0, "-1.23457E-10"],
|
||||
[-0.000000001234567, 0, "-1.23457E-09"],
|
||||
[-0.00000001234567, 0, "-1.23457E-08"],
|
||||
[-0.0000001234567, 0, "-1.23457E-07"],
|
||||
[-0.000001234567, 0, "-1.23457E-06"],
|
||||
[-0.00001234567, 0, "-1.23457E-05"],
|
||||
[-0.0001234567, 0, "-0.000123457"],
|
||||
[-0.001234567, 0, "-0.001234567"],
|
||||
[-0.01234567, 0, "-0.01234567"],
|
||||
[-0.1234567, 0, "-0.1234567"],
|
||||
[-1.234567, 0, "-1.234567"],
|
||||
[-12.34567, 0, "-12.34567"],
|
||||
[-123.4567, 0, "-123.4567"],
|
||||
[-1234.567, 0, "-1234.567"],
|
||||
[-12345.67, 0, "-12345.67"],
|
||||
[-123456.7, 0, "-123456.7"],
|
||||
[-1234567, 0, "-1234567"],
|
||||
[-12345670, 0, "-12345670"],
|
||||
[-123456700, 0, "-123456700"],
|
||||
[-1234567000, 0, "-1234567000"],
|
||||
[-12345670000, 0, "-12345670000"],
|
||||
[-123456700000, 0, "-1.23457E+11"],
|
||||
[-1234567000000, 0, "-1.23457E+12"],
|
||||
[-12345670000000, 0, "-1.23457E+13"],
|
||||
[-123456700000000, 0, "-1.23457E+14"],
|
||||
|
||||
[true, 0, "TRUE"],
|
||||
[false, 0, "FALSE"],
|
||||
|
||||
[11.666666666666666, 0, "11.66666667"],
|
||||
[5.057996968497839, 0, "5.057996968"],
|
||||
[4.380353866983808, 0, "4.380353867"],
|
||||
|
Loading…
Reference in New Issue
Block a user