13af6ab5fSopenharmony_ci/* 23af6ab5fSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 33af6ab5fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 43af6ab5fSopenharmony_ci * you may not use this file except in compliance with the License. 53af6ab5fSopenharmony_ci * You may obtain a copy of the License at 63af6ab5fSopenharmony_ci * 73af6ab5fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 83af6ab5fSopenharmony_ci * 93af6ab5fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 103af6ab5fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 113af6ab5fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 123af6ab5fSopenharmony_ci * See the License for the specific language governing permissions and 133af6ab5fSopenharmony_ci * limitations under the License. 143af6ab5fSopenharmony_ci */ 153af6ab5fSopenharmony_ci 163af6ab5fSopenharmony_cilet number = { 173af6ab5fSopenharmony_ci 2e3 : 'scientific notation', 183af6ab5fSopenharmony_ci 1000 : 'decimal', 193af6ab5fSopenharmony_ci NaN : NaN, 203af6ab5fSopenharmony_ci 0.0 : '0', 213af6ab5fSopenharmony_ci Infinity : 'Infinity', 223af6ab5fSopenharmony_ci 1e-6 : 0.000001, 233af6ab5fSopenharmony_ci 0.000002 : 0.000002, 243af6ab5fSopenharmony_ci 1e-7 : 1e-7, 253af6ab5fSopenharmony_ci 0.0000002 : 2e-7, 263af6ab5fSopenharmony_ci 0.1 : 0.1, 273af6ab5fSopenharmony_ci 1.1 : 1.1, 283af6ab5fSopenharmony_ci 1234567890123456 : 1234567890123456, 293af6ab5fSopenharmony_ci 12345678901234567 : 12345678901234568, 303af6ab5fSopenharmony_ci 123456789012345678 : 123456789012345680, 313af6ab5fSopenharmony_ci 1e20 : 100000000000000000000, 323af6ab5fSopenharmony_ci 200000000000000000000 : 100000000000000000000, 333af6ab5fSopenharmony_ci 1e21 : 1e+21, 343af6ab5fSopenharmony_ci 2000000000000000000000 : 2e+21, 353af6ab5fSopenharmony_ci} 363af6ab5fSopenharmony_ci 373af6ab5fSopenharmony_ciprint(number[2e3]); // call key 2e3 383af6ab5fSopenharmony_ciprint(number[2000]); // call key 2e3 393af6ab5fSopenharmony_ciprint(number[1000]); 403af6ab5fSopenharmony_ci// Special testcases 413af6ab5fSopenharmony_ciprint(number[NaN]); 423af6ab5fSopenharmony_ciprint(number[0]); // equal to 0.0 433af6ab5fSopenharmony_ciprint(number[Infinity]); 443af6ab5fSopenharmony_ci// Boundary value of size : 1e-6 453af6ab5fSopenharmony_ciprint(number[1e-6]); 463af6ab5fSopenharmony_ciprint(number[0.000001]); 473af6ab5fSopenharmony_ciprint(number[0.000002]); 483af6ab5fSopenharmony_ciprint(number[1e-7]); 493af6ab5fSopenharmony_ciprint(number[0.0000001]); 503af6ab5fSopenharmony_ciprint(number[0.0000002]); 513af6ab5fSopenharmony_ci// Boundary value of size : 1e0 523af6ab5fSopenharmony_ciprint(number[0.1]); 533af6ab5fSopenharmony_ciprint(number[1.1]); 543af6ab5fSopenharmony_ci// Boundary value of size : 1e21 553af6ab5fSopenharmony_ciprint(number[1e20]); 563af6ab5fSopenharmony_ciprint(number[100000000000000000000]); 573af6ab5fSopenharmony_ciprint(number[200000000000000000000]); 583af6ab5fSopenharmony_ciprint(number[1e21]); 593af6ab5fSopenharmony_ciprint(number[1000000000000000000000]); 603af6ab5fSopenharmony_ciprint(number[2000000000000000000000]); 613af6ab5fSopenharmony_ci// Precision digit : 17 623af6ab5fSopenharmony_ciprint(number[1234567890123456]); 633af6ab5fSopenharmony_ciprint(number[12345678901234567]); 643af6ab5fSopenharmony_ciprint(number[12345678901234568]); // equal to 12345678901234567 653af6ab5fSopenharmony_ciprint(number[123456789012345678]); 663af6ab5fSopenharmony_ciprint(number[123456789012345680]); // equal to 123456789012345678 67