14514f5e3Sopenharmony_ci/*
24514f5e3Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
34514f5e3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
44514f5e3Sopenharmony_ci * you may not use this file except in compliance with the License.
54514f5e3Sopenharmony_ci * You may obtain a copy of the License at
64514f5e3Sopenharmony_ci *
74514f5e3Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
84514f5e3Sopenharmony_ci *
94514f5e3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
104514f5e3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
114514f5e3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124514f5e3Sopenharmony_ci * See the License for the specific language governing permissions and
134514f5e3Sopenharmony_ci * limitations under the License.
144514f5e3Sopenharmony_ci */
154514f5e3Sopenharmony_ci
164514f5e3Sopenharmony_ci/*
174514f5e3Sopenharmony_ci * @tc.name:Number
184514f5e3Sopenharmony_ci * @tc.desc:test Number
194514f5e3Sopenharmony_ci * @tc.type: FUNC
204514f5e3Sopenharmony_ci * @tc.require: issueI8S2AX
214514f5e3Sopenharmony_ci */
224514f5e3Sopenharmony_ci
234514f5e3Sopenharmony_ci// toFixed
244514f5e3Sopenharmony_cifunction testToFixed(a, b) {
254514f5e3Sopenharmony_ci    print(a.toFixed(b));
264514f5e3Sopenharmony_ci}
274514f5e3Sopenharmony_ci
284514f5e3Sopenharmony_citestToFixed(1.25, 1);
294514f5e3Sopenharmony_citestToPrecision(1.25, 2);
304514f5e3Sopenharmony_ciprint(0.000112356.toExponential())
314514f5e3Sopenharmony_ciprint((-(true)).toPrecision(0x30, 'lib1-f1'))
324514f5e3Sopenharmony_citestToFixed(1111111111111111111111, 8);
334514f5e3Sopenharmony_citestToFixed(0.1, 1);
344514f5e3Sopenharmony_citestToFixed(0.1, 2);
354514f5e3Sopenharmony_citestToFixed(0.1, 3);
364514f5e3Sopenharmony_citestToFixed(0.01, 2);
374514f5e3Sopenharmony_citestToFixed(0.01, 3);
384514f5e3Sopenharmony_citestToFixed(0.01, 4);
394514f5e3Sopenharmony_citestToFixed(0.0000006, 7);
404514f5e3Sopenharmony_citestToFixed(0.00000006, 8);
414514f5e3Sopenharmony_citestToFixed(0.00000006, 9);
424514f5e3Sopenharmony_citestToFixed(0.00000006, 10);
434514f5e3Sopenharmony_citestToFixed(1.12, 0);
444514f5e3Sopenharmony_citestToFixed(12.12, 0);
454514f5e3Sopenharmony_citestToFixed(12.12, 1);
464514f5e3Sopenharmony_citestToFixed(12.122, 8);
474514f5e3Sopenharmony_citestToFixed(-1111111111111111111111, 8);
484514f5e3Sopenharmony_citestToFixed((-0.1), 1);
494514f5e3Sopenharmony_citestToFixed((-0.1), 2);
504514f5e3Sopenharmony_citestToFixed((-0.1), 3);
514514f5e3Sopenharmony_citestToFixed((-0.01), 2);
524514f5e3Sopenharmony_citestToFixed((-0.01), 3);
534514f5e3Sopenharmony_citestToFixed((-0.01), 4);
544514f5e3Sopenharmony_citestToFixed((-0.0000006), 7);
554514f5e3Sopenharmony_citestToFixed((-0.0000006), 8);
564514f5e3Sopenharmony_citestToFixed((-0.0000006), 9);
574514f5e3Sopenharmony_citestToFixed((-0.0000006), 10);
584514f5e3Sopenharmony_citestToFixed((-1.12), 0);
594514f5e3Sopenharmony_citestToFixed((-12.12), 0);
604514f5e3Sopenharmony_citestToFixed((-12.12), 1);
614514f5e3Sopenharmony_citestToFixed((-12.122), 8);
624514f5e3Sopenharmony_ci
634514f5e3Sopenharmony_ci// toExponential
644514f5e3Sopenharmony_cifunction testToExponential(a, b) {
654514f5e3Sopenharmony_ci    print(a.toExponential(b));
664514f5e3Sopenharmony_ci}
674514f5e3Sopenharmony_ci
684514f5e3Sopenharmony_cifunction testToExponentialP(a, b) {
694514f5e3Sopenharmony_ci    print(a.toExponential(b));
704514f5e3Sopenharmony_ci}
714514f5e3Sopenharmony_ci
724514f5e3Sopenharmony_citestToExponential(1);
734514f5e3Sopenharmony_citestToExponential(11);
744514f5e3Sopenharmony_citestToExponential(112);
754514f5e3Sopenharmony_citestToExponential(0.1);
764514f5e3Sopenharmony_citestToExponential(0.11);
774514f5e3Sopenharmony_citestToExponential(0.112);
784514f5e3Sopenharmony_citestToExponential(-1);
794514f5e3Sopenharmony_citestToExponential(-11);
804514f5e3Sopenharmony_citestToExponential(-112);
814514f5e3Sopenharmony_citestToExponential(-0.1);
824514f5e3Sopenharmony_citestToExponential(-0.11);
834514f5e3Sopenharmony_citestToExponential(-0.112);
844514f5e3Sopenharmony_citestToExponential(0);
854514f5e3Sopenharmony_citestToExponential(0.000112356);
864514f5e3Sopenharmony_citestToExponential(-0.000112356);
874514f5e3Sopenharmony_ci
884514f5e3Sopenharmony_citestToExponentialP((1), (1));
894514f5e3Sopenharmony_citestToExponentialP((11), (1));
904514f5e3Sopenharmony_citestToExponentialP((1), (2));
914514f5e3Sopenharmony_citestToExponentialP((112), (2));
924514f5e3Sopenharmony_citestToExponentialP((11), (3));
934514f5e3Sopenharmony_citestToExponentialP((0.1), (1));
944514f5e3Sopenharmony_citestToExponentialP((0.11), (1));
954514f5e3Sopenharmony_citestToExponentialP((0.112), (1));
964514f5e3Sopenharmony_citestToExponentialP((0.112), (2));
974514f5e3Sopenharmony_citestToExponentialP((0.11), (3));
984514f5e3Sopenharmony_citestToExponentialP((-11), (0));
994514f5e3Sopenharmony_citestToExponentialP((-112), (0));
1004514f5e3Sopenharmony_citestToExponentialP((-1), (1));
1014514f5e3Sopenharmony_citestToExponentialP((-11), (1));
1024514f5e3Sopenharmony_citestToExponentialP((-1), (2));
1034514f5e3Sopenharmony_citestToExponentialP((-112), (2));
1044514f5e3Sopenharmony_citestToExponentialP((-11), (3));
1054514f5e3Sopenharmony_citestToExponentialP((-0.1), (1));
1064514f5e3Sopenharmony_citestToExponentialP((-0.11), (1));
1074514f5e3Sopenharmony_citestToExponentialP((-0.112), (1));
1084514f5e3Sopenharmony_citestToExponentialP((-0.112), (2));
1094514f5e3Sopenharmony_citestToExponentialP((-0.11), (3));
1104514f5e3Sopenharmony_ci
1114514f5e3Sopenharmony_citestToExponentialP((0), (2));
1124514f5e3Sopenharmony_citestToExponentialP((11.2356), (0));
1134514f5e3Sopenharmony_citestToExponentialP((11.2356), (4));
1144514f5e3Sopenharmony_citestToExponentialP((0.000112356), (4));
1154514f5e3Sopenharmony_citestToExponentialP((-0.000112356), (4));
1164514f5e3Sopenharmony_ci
1174514f5e3Sopenharmony_ci
1184514f5e3Sopenharmony_ci// toPrecision
1194514f5e3Sopenharmony_cifunction testToPrecision(a, b) {
1204514f5e3Sopenharmony_ci    print(a.toPrecision(b));
1214514f5e3Sopenharmony_ci}
1224514f5e3Sopenharmony_citestToPrecision((0.000555), (15));
1234514f5e3Sopenharmony_citestToPrecision((0.000000555), (15));
1244514f5e3Sopenharmony_citestToPrecision((-0.000000555), (15));
1254514f5e3Sopenharmony_citestToPrecision((123456789), (1));
1264514f5e3Sopenharmony_citestToPrecision((123456789), (9));
1274514f5e3Sopenharmony_citestToPrecision((123456789), (8));
1284514f5e3Sopenharmony_citestToPrecision((123456789), (7));
1294514f5e3Sopenharmony_citestToPrecision((-123456789), (7));
1304514f5e3Sopenharmony_citestToPrecision(Number(-.0000000012345), (2));
1314514f5e3Sopenharmony_citestToPrecision(Number(-.000012345), (2));
1324514f5e3Sopenharmony_citestToPrecision(Number(-.00012345), (2));
1334514f5e3Sopenharmony_citestToPrecision(Number(-1.2345), (2));
1344514f5e3Sopenharmony_citestToPrecision(Number(-12.345), (2));
1354514f5e3Sopenharmony_citestToPrecision(Number(-1234.5), (2));
1364514f5e3Sopenharmony_citestToPrecision(Number(-12345.67), (4));
1374514f5e3Sopenharmony_ci
1384514f5e3Sopenharmony_ci
1394514f5e3Sopenharmony_ci// toString, Only Test InttoString
1404514f5e3Sopenharmony_cifunction testToString(a, b) {
1414514f5e3Sopenharmony_ci    print(a.toString(b));
1424514f5e3Sopenharmony_ci}
1434514f5e3Sopenharmony_ciprint((-0).toString());
1444514f5e3Sopenharmony_ciprint((1).toString());
1454514f5e3Sopenharmony_ciprint((-9).toString());
1464514f5e3Sopenharmony_ciprint((1234567).toString());
1474514f5e3Sopenharmony_ciprint((-1234567).toString());
1484514f5e3Sopenharmony_ciprint((10000).toString());
1494514f5e3Sopenharmony_ciprint((67345).toString());
1504514f5e3Sopenharmony_ci
1514514f5e3Sopenharmony_citestToString((0), (16));
1524514f5e3Sopenharmony_citestToString((9), (16));
1534514f5e3Sopenharmony_citestToString((90), (16));
1544514f5e3Sopenharmony_citestToString((-0), (16));
1554514f5e3Sopenharmony_citestToString((-90), (16));
1564514f5e3Sopenharmony_citestToString((10000007), (36));
1574514f5e3Sopenharmony_citestToString((123456789), (32));
1584514f5e3Sopenharmony_citestToString((-123456789), (32));
1594514f5e3Sopenharmony_ci
1604514f5e3Sopenharmony_civar result = "";
1614514f5e3Sopenharmony_civar num_1 = { valueOf: function() { result += "first"; return 1; } };
1624514f5e3Sopenharmony_civar num_2 = { valueOf: function() { result += "second"; return 2; } };
1634514f5e3Sopenharmony_ci// Compare the size of number 1 and number 2
1644514f5e3Sopenharmony_cinum_1 < num_2
1654514f5e3Sopenharmony_ciprint("firstsecond" == result);
1664514f5e3Sopenharmony_ci
1674514f5e3Sopenharmony_ciresult = "";
1684514f5e3Sopenharmony_cinum_1 = { valueOf: function() { result += "first"; return 1; } };
1694514f5e3Sopenharmony_ci// Compare the size of number 1 and 0
1704514f5e3Sopenharmony_cinum_1 > void(0);
1714514f5e3Sopenharmony_ciprint("first" == result);
1724514f5e3Sopenharmony_ci
1734514f5e3Sopenharmony_ciresult = "";
1744514f5e3Sopenharmony_cinum_2 = { valueOf: function() { result += "second"; return 2; } };
1754514f5e3Sopenharmony_ci// Compare the size of 0 and number 2
1764514f5e3Sopenharmony_civoid(0) > num_2;
1774514f5e3Sopenharmony_ciprint("second" == result);
178