Аппараттық және бағдарламалық қамтамасыз етуді орнату

Javascript - бүйірлік - типтік жазуды дөңгелектеу. JavaScript тіліндегі қарапайым дөңгелектеу ережелері

Сәлеметсіз бе. Бүгін Javascript туралы бағанда біз JavaScript-те өзгермелі нүктелердегі ондықтардың санын қалай орнату керектігін қарастырамыз. Мысалы, шығару кезінде 3 ондық таңба қалдыру керек немесе тек екеуін қалдыру керек.

Тапсырма: ондық таңбалардың JavaScript саны

Сонымен, бізде тапсырма тұр: ондық бөлшекке дейін және ондық бөлшектен кейін сандар болатын есептеу нәтижесі бар. Ондық. Нәтиже осындай 1538.9891200153 болсын. Бірақ сіз шығарған кезде соманы көрсететін санды алуыңыз керек, онда ондық үтірден бұрын банкноттар саны, ал одан кейін - копейктер.

Бұл мәселені шешудің бірнеше жолы бар.

1-шешім: toFixed әдісімен ондық таңбалардың JavaScript саны

toFixed - кез келген санға қолданылатын кірістірілген JavaScript әдісі, ол параметр ретінде дөңгелектеу дәлдігін (яғни ондық сандар санын) қабылдайды.

Варнум=1538,9891200153; num_str=num.toFixed(); //num_str=1538; num_str=num.toFixed(2); //num_str=1538,98; num_str=num.toFixed(5); //num_str=1538,98912;

Бұл функциядағы дәлдік параметрі кемінде 0 (теріс мәндерді қабылдамайды) және ең көбі 20 болуы керек.

Сіз сондай-ақ айнымалысыз жасай аласыз, мысалы:

Num_str=(1538.9891200153).toFixed(2); //num_str=1538,98;

2-шешім: toPrecision әдісімен ондық таңбалардың JavaScript саны

Бұл шешім бірдей кірістірілген JavaScript әдісіне негізделген. Бұл әдістің айрықша ерекшелігі - енгізу параметрі дәлдікті (ондық таңбалардың санын) емес, ондық таңбалардың жалпы санын (ондық бөлшекке дейін де, одан кейінгі де) көрсетеді.

Варнум=1538,9891200153; num_str=num.toPrecision(5); //num_str=1538,9; num_str=num.toPrecision(7); //num_str=1538,989;

Ондық таңбасыз шешім: ондық таңбалардың JavaScript саны

Ондық бөлшектерді толығымен алып тастау керек болса, яғни дөңгелектеу керек бөлшек санбүтін санға дейін, содан кейін сіз Math сыныбының функцияларын пайдалана аласыз: дөңгелек, төбе және еден.
Дөңгелек – жоғары немесе төмен дөңгелектейді (санға байланысты). Егер ондық үтірден кейінгі мән жартысынан көп болса, онда ол дөңгелектенеді, аз болса, дөңгелектенеді. Яғни, 0,51 болса – 1, 0,49 болса – 0 болады.

Ceil - ағылшын тілінен. төбе әрқашан дөңгелектенеді.

Қабат - ағылшын тілінен. Жыныс әрқашан төмендейді.

Варнум = 1538,9891200153; num_str=math.round(сан); //num_str=1539; num_str=Math.floor(сан); //num_str=1538; num_str=Math.ceil(сан); //num_str=1539;

Бар болғаны. Бұл жазба мәселеңізді шешуге көмектесті деп үміттенемін. Егер бірдеңе орындалмаса, жасыл «Маманға сұрақ қою» түймесін пайдаланып немесе түсініктемелерде сұрақтар қойыңыз.

Көбінесе есептеулер қажетті диапазонға сәйкес келмейтін нәтижелер береді. Нәтижесінде, қажет JavaScript дөңгелектеубелгілі бір мәнге дейін.

Неліктен дөңгелек сандар?

JavaScript бүтін сандарды сақтамайды, өйткені олардың мәндері өзгермелі нүкте сандары ретінде ұсынылған. Көптеген бөлшектерді ондық таңбалардың белгілі бір соңғы саны бар санмен көрсету мүмкін емес, сондықтан JavaScript келесідей нәтижелерді жасай алады:

0.1 * 0.2; > 0.020000000000000004

Іс жүзінде бұл маңызды емес, өйткені біз 2 квинтилион қате туралы айтып отырмыз. Бірақ бұл валюта мәндерін, пайыздарды немесе файл өлшемдерін көрсететін сандармен жұмыс істегенде нәтижеге әсер етуі мүмкін. Сондықтан белгілі бір ондық бөлшекті орындау керек.

Ондық бөлшектерді дөңгелектеу

Ондық санды «қию» үшін toFixed() немесе toPrecision() әдістерін пайдаланыңыз. Олардың екеуі де нәтижеге қосылатын маңызды және ондық таңбалардың санын көрсететін бір аргумент алады:

  • toFixed() үшін ешқандай аргумент көрсетілмесе, әдепкі мән 0 болады, яғни ондық бөлшек болмайды; аргументтің максималды мәні - 20 ;
  • toPrecision() параметріне ешқандай аргумент берілмесе, сан өзгертілмейді.

var randNum = 6,25; randNum.toFixed(); > "6" Math.PI.toPrecision(1); > "3" var randNum = 87,335; randNum.toFixed(2); > "87,33" var randNum = 87,337; randNum.toPrecision(3); > "87,3"

Ескерту

toFixed() және toPrecision екеуі де нәтиженің сан емес, дөңгелектенген жол көрінісін қайтарады. Бұл randNum-ға дөңгелектенген қосу жалғыз санға емес, жолды біріктіруге әкелетінін білдіреді:

console.log(randNum + дөңгелектенген); > "6.256"

JavaScript-ті жүздікке дейін дөңгелектеуді қаласаңыз, parseFloat() пайдаланыңыз:

var randNum = 6,25; var rounded = parseFloat(randNum.toFixed(1)); консоль журналы (дөңгелектелген); > 6.3

toFixed() және toPrecision() да қысқартудың пайдалы әдістері болып табылады үлкен санондық бөлшектер. Бұл ақша бірліктерін көрсететін сандармен жұмыс істегенде пайдалы:

var fullNum = 1 var dollarsCents = totalNum.toFixed(2); console.log(dollarscents); > "1,00"

Егер санда дәлдік параметрінен көп сандар болса, toPrecision нәтижені ғылыми форматта қайтаратынын ескеріңіз:

var num = 123,435 num.toPrecision(2); > "1.2e+2"

Ондық бөлшектерді дөңгелектеу кезінде қателерді қалай болдырмауға болады

Кейбір жағдайларда toFixed және toPrecision жасайды JavaScript 5-ші айналым төмен, және одан да көп емес:

var numTest = 1,005; numTest.toFixed(2); > 1;

Жоғарыдағы мысалдың нәтижесі 1 емес, 1,01 болуы керек. Бұл қатені болдырмас үшін экспоненциалды сандарды пайдалануды ұсынамын:

функция дөңгелек(мән, ондық) (қайтару Сан(Math.round(мән+"e"+ондық)+"e-"+ондық); )

Қолдану:

дөңгелек(1.005,2); > 1,01

Егер сізге дөңгелектеуден гөрі сенімдірек шешім қажет болса, ол мына жерден қолжетімді MDN.

Эпсилонмен дөңгелектеу

Альтернативті әдіс JavaScript ондыққа дейін дөңгелектеу ES6-да енгізілді ( JavaScript 2015 ретінде де белгілі). « Машиналық эпсилон' екі өзгермелі нүкте сандарын салыстыру кезінде ақылға қонымды қателік маржасын қамтамасыз етеді. Дөңгелектеусіз салыстырулар келесіге ұқсас нәтижелерді бере алады:

0,1 + 0,2 === 0,3 > жалған

Math.EPSILON жарамды салыстыруды алу үшін функцияда қолданылуы мүмкін:

epsEqu(x, y) функциясы (қайтаратын Math.abs(x - y)< Number.EPSILON * Math.max(Math.abs(x), Math.abs(y)); }

Функция екі аргумент қабылдайды: біреуі есептеуді қамтиды, екіншісі күтілетін (дөңгелектелген) нәтиже. Ол осы екі параметрдің салыстыруын қайтарады:

epsEqu(0,1 + 0,2, 0,3) > шын

Барлық заманауи браузерлер ES6 математикалық функцияларын қолдайды. Бірақ ескі браузерлерде қолдау көрсету қажет болса, онда политолтыруды пайдалану керек.

Ондық бөлшекті қысқарту

Бұрын ұсынылған әдістердің барлығы орындалады JavaScript ондыққа дейін дөңгелектеу. Оң санды екі ондық таңбаға дейін қысқарту үшін оны 100-ге көбейтіп, қайтадан қысқартып, нәтижені 100-ге бөліңіз:

функция қысқартылған(сан) (қайтару Math.trunc(num * 100) / 100; ) қысқартылған(3.1416) > 3.14

Егер сізге икемді нәрсе қажет болса, биттік операторды пайдалануға болады:

функция кесілген(num, decimalPlaces) ( var numPowerConverter = Math.pow(10, decimalPlaces); қайтару ~~(num * numPowerConverter)/numPowerConverter; )

Қолданылуы:

var randInt = 35,874993; кесілген(randInt,3); > 35,874

Ең жақын санға дейін дөңгелектеу

Жүзеге асыру JavaScript бүтін санға дейін дөңгелектенеді, Math.round() пайдаланылады:

Math.round(4.3) > 4 Math.round(4.5) > 5

Ескертіп қой » жарты мәндер", мысалы, .5 , дөңгелектенеді.

Ең жақын бүтін санға дейін дөңгелектеу

Төменге айналдырғыңыз келсе, Math.floor() әдісін пайдаланыңыз:

Math.floor(42.23); > 42 Math.floor(36,93); > 36

«Төмен» дөңгелектеу барлық сандар үшін, соның ішінде теріс сандар үшін бір бағытқа ие. Мұны шексіз көп қабаттары бар тіреген ғимарат ретінде елестетуге болады, соның ішінде іргетас деңгейінен төмен ( теріс сандарды білдіреді). Егер сіз 2 және 3 жертөле қабаттары арасындағы лифтте болсаңыз ( ол -2,5 мәніне сәйкес келеді), Math.floor сізді -3 қабатқа апарады:

Math.floor(-2,5); > -3

Бұған жол бермеу қажет болса, JavaScript Math rounding функциясын Math.truncu() арқылы пайдаланыңыз, ол барлық нұсқаларда қолдау көрсетеді. заманауи браузерлер(Сонымен қатар IE/Edge):

Math.trunc(-41,43); > -41

MDN сонымен қатар қамтамасыз етеді Ескі браузерлерде және IE/Edge жүйесінде Math.trunc қолдауын қамтамасыз ету үшін 3 жолды политолтыру.

Ең жақын бүтін санға дейін дөңгелектеу

Ондық сандарды дөңгелектегіңіз келсе, Math.ceil пайдаланыңыз. Сондай-ақ, бұл әдісті шексіз лифт ретінде қарастыруға болады: Math.ceil санның теріс немесе оң екеніне қарамастан, сізді әрқашан «жоғары» көтереді:

Math.ceil(42,23); > 43 Math.ceil(36,93); > 37 Math.ceil(-36,93); -36

Ең жақын еселікке дейін дөңгелектеу

Мәнді 5-тің ең жақын еселігіне дейін дөңгелектегіңіз келсе, санды 5-ке бөлетін, оны дөңгелектейтін және нәтижені бірдей мәнге көбейтетін функцияны жасаңыз:

roundTo5(num) функциясы (қайтару Math.round(num/5)*5; )

Қолданылуы:

roundTo5(11); > 10

JavaScript-ті екі ондық таңбаға дейін дөңгелектеуді орындау қажет болса, функцияға тұқымды да, көбейтіндіні де беруге болады:

roundToMultiple(сан, еселік) функциясы ( Math.round(num/multiple)*көп; қайтарады)

Функцияны пайдалану үшін оның шақыруында дөңгелектенетін санды және көбейтіндіні қосыңыз:

var initialNumber = 11; var multiple = 10; roundToMultiple(бастапқы сан, бірнеше); > 10;

Мәндерді тек жоғары немесе төмен дөңгелектеу үшін дөңгелек функцияны төбе немесе еденге ауыстырыңыз.

Ауқымға байланыстыру

Кейде х мәнін алу керек, ол белгілі бір ауқымда болуы керек. Мысалы, біз 1 мен 100 арасындағы мәнді қалаймыз, бірақ біз 123 мәнін аламыз. Мұны түзету үшін min() функциясын қолдануға болады. сандардың ең кішісін қайтарады) және макс( максималды рұқсат етілген санды қайтарады).

Қолданылуы:

var lowBound = 1; varhighBound = 100; varnumInput = 123; var clamped = Math.max(lowBound, Math.min(numInput, highBound)); консоль журналы (қысылған); > 100;

Number класының функциясын немесе кеңейтімін жасауға болады.

Бұл мақалада біз сандарды, математикалық операторларды, санды жолға және керісінше түрлендіру жолдарын, сондай-ақ басқа да көптеген маңызды сәттерді егжей-тегжейлі қарастырамыз.

isFinite функциясы

isFinite функциясы аргументтің соңғы сан екенін тексеруге мүмкіндік береді.

Жауап ретінде берілген функцияаргумент Infinity , -Infinity , NaN болса немесе осы арнайы сандық мәндердің біріне шығарылатын болса, жалған мәнін қайтарады. В әйтпесебұл функция true мәнін қайтарады.

IsFinite(73); // true isFinite(-1/0); // false isFinite(Infinity); // false isFinite(NaN); // false isFinite("Мәтін"); // жалған

isFinite жаһандық функциясынан басқа, JavaScript-те Number.isFinite әдісі де бар. Ол, isFinite-тен айырмашылығы, аргументті санға түрлендіруге мәжбүрлемейді.

IsFinite("73"); // true Number.isFinite("73"); // жалған

isNaN функциясы

isNaN функциясы аргументтің сан екенін немесе біреуге түрлендіруге болатынын анықтауға арналған. Олай болса, isNaN функциясы жалған мәнді қайтарады. Әйтпесе ол шындықты қайтарады.

IsNaN(NaN); //true isNaN("25px"); //шын, өйткені 20px - бұл NaN(25.5) сан емес; //false isNaN("25,5"); //false isNaN(" "); //жалған, өйткені бос орын немесе бірнеше бос орындар 0 isNaN(null) мәніне түрлендіріледі; //жалған, өйткені нөлдік мән 0-ге түрлендірілді isNaN(true); //жалған, өйткені ақиқат 1 isNaN(false) мәніне түрлендірілді; //жалған, өйткені жалған 0-ге түрлендірілді

Бұл әрекетті трансляция түрінсіз орындау қажет болса, Number.isNaN әдісін пайдаланыңыз. Бұл әдіс тілге ECMAScript 6 нұсқасынан бастап енгізілген.

Жолды санға қалай анық түрлендіруге болады?

Келесі әдістерді пайдаланып жолды санға нақты түрде шығаруға болады:

1. Қолдану біртұтас оператор +Мәннің алдына қойылады.

+"7,35"; // 7.35 +"мәтін"; // НаН

Бұл әдіс жолдың басындағы және соңындағы бос орындарды, сондай-ақ \n (жол арнасы) елемейді.

+"7,35"; //7,35 +"7,35\n"; //7.35

Қолдану Бұл жолменбос жол немесе бос орындар мен \n тұратын жол 0 санына түрленетінін ескеріңіз. Оған қоса, ол нөлдік деректер түрін және логикалық мәндерді санға түрлендіреді.

Нөл; //0 +шын; //1 +жалған; //0 +" "; //0

2. parseInt функциясы. Бұл функция түрлендіруге арналған бүтін санға аргумент. Қолдануға қарсы біртұтас оператор +, бұл әдісжолды санға түрлендіруге мүмкіндік береді, онда барлық таңбалар сандық емес. Ол бірінші таңбадан бастап жолды түрлендіруді бастайды. Және ол сандық таңба болып табылмайтын таңбаны кездестірген бойда бұл функция жұмысын тоқтатады және алынған санды қайтарады.

ParseInt("18px"); //18 parseInt("33,3%"); //33

Бұл функция әртүрлі санау жүйелерімен (екілік, сегіздік, ондық, он алтылық) жұмыс істей алады. Санау жүйесінің негізін көрсету 2 аргумент арқылы жүзеге асады.

ParseInt("18px", 10); //18 parseInt("33,3%", 10); //33 parseInt("101",2); //5 parseInt("B5",16); //181

parseInt функциясына қосымша JavaScript-те Number.parseInt әдісі бар. Бұл әдіс parseInt функциясынан еш айырмашылығы жоқ және JavaScript-ке ECMASCRIPT 2015(6) спецификациясымен енгізілген.

3. parseFloat функциясы. parseFloat функциясы parseInt функциясына ұқсас, тек ол аргументті бөлшек санға түрлендіруге мүмкіндік береді.

ParseFloat("33,3%"); //33.3

Сонымен қатар, parseFloat функциясы, parseInt-тен айырмашылығы, 2 аргументі жоқ, сондықтан ол әрқашан жолды ондық санау жүйесіндегі сан ретінде қарастыруға тырысады.

ParseFloat("3.14"); parseFloat("314e-2"); parseFloat("0,0314E+2");

parseFloat функциясына қосымша JavaScript-те Number.parseFloat әдісі бар. Бұл әдіс parseFloat функциясынан еш айырмашылығы жоқ және JavaScript-ке ECMASCRIPT 2015(6) спецификациясымен енгізілген.

Санды жолға түрлендіру

toString әдісі арқылы санды жолға айналдыруға болады.

(12.8).toString(); //"12,8"

toString әдісі сонымен қатар санды жолға нақты шығару керек екенін ескере отырып, санау жүйесінің негізін көрсетуге мүмкіндік береді:

(255).toString(16); //"ff"

Айнымалының сан екенін қалай тексеруге болады

Айнымалы мәннің сан екенін келесі әдістердің бірін пайдаланып анықтауға болады:

1. isNaN және isFinite функцияларын пайдалану:

// myVar айнымалы болып табылады, егер (!isNaN(parseFloat(myVar)) && isFinite(parseFloat(myVar))) ( //myVar - бұл сан немесе оған трансляциялауға болады );

Функция ретінде:

// функция функциясы isNumeric(мән) (қайтару !isNaN(parseFloat(мән)) && isFinite(parseFloat(мән)); ) // қолданыс var myVar = "12px"; console.log(isNumeric(myVar)); //шын

Бұл әдіс көрсетілген мәннің сан екенін немесе оған түрлендіруге болатынын анықтауға мүмкіндік береді. Бұл опциясан ретінде бос жолды, бос орындар жолын санамайды, null , Infinity , -Infinity , true және false.

2. Қолдану оператор түріжәне функциялары isFinite, isNaN:

// мәннің сан екенін тексеретін функция isNumber(мән) (мәннің түрін қайтару === "(!LANG:сан)" && isFinite(value) && !isNaN(value); }; // использование функции isNumber isNumber(18); //true // использование функций для проверки текстовых значений isNumber(parseFloat("")); //false isNumber(parseFloat("Infinity")); //false isNumber(parseFloat("12px")); //true !}

Бұл функция көрсетілген мәннің Number түріндегі екенін және Infinity, -Infinity және NaN арнайы мәндерінің бірі емес екенін анықтайды. Олай болса, бұл функция шын мәнін қайтарады.

3. ECMAScript 6 Number.isInteger(мән) әдісін пайдалану. Бұл әдіс көрсетілген мәннің бүтін сан екенін анықтауға мүмкіндік береді.

Number.isInteger("20"); //жалған, өйткені бұл әдіс жолды Number.isInteger(20) санына аудармайды; //шын, өйткені берілген мән – сан

Жұп және тақ сандар

Санның жұп немесе тақ екенін тексеруге болады келесі функциялар:

// Санның жұп екенін тексеру функциясы isEven(n) функциясы (қайтару n % 2 == 0; ) // Санның тақ екенін тексеру функциясы isOdd(n) (қайтару Math.abs(n % 2) == 1;)

Бірақ мұндай тексеруді орындамас бұрын, көрсетілген мәннің сан екеніне көз жеткізген жөн:

мән=20; егер (Number.isInteger(мән)) ( if (isEven(мән)) ( console.log("Number" + value.toString() + " - жұп"); ) )

Javascript тіліндегі қарапайым сандар

Біз шығаратын мысалды қарастырайық Javascript 2-ден 100-ге дейінгі жай сандар.

// Санның жай екенін тексеретін функцияPrime(мән) функциясы (if (isNaN(мән) || !isFinite(мән) || мән%1 || мәні)< 2) return false; var max=Math.floor(Math.sqrt(value)); for (var i = 2; i< = max; i++) { if (value%i==0) { return false; } } return true; } // создать массив, который будет содержать простые числа от 2 до 100 var primaryNumber = ; for (var i = 2; i <= 100; i++) { if(isPrime(i)) primaryNumber.push(i); } // вывести в консоль простые числа от 2 до 100 console.log(primaryNumber);

Javascript-те санды дөңгелектеу

JavaScript тілінде бөлшек санды бүтін мәнге дейін дөңгелектеудің әртүрлі жолдары бар.

1. Ол үшін арнайы әзірленген Math.floor , Math.ceil және Math.round әдістерін пайдалану. Math.floor әдісі бөлшек санды ең жақын бүтін санға дейін дөңгелектейді, яғни. жай бөлшек бөлігін алып тастайды. Math.ceil бөлшек санды ең жақын бүтін санға дейін дөңгелектейді. Math.round бөлшек бөлігінің мәніне байланысты санды жоғары немесе төмен дөңгелектейді. Бөлшек бөлігі 0,5-тен үлкен немесе тең болса, онда жоғары, әйтпесе айналдыру төмен болады.

Console.log(Math.floor(7.9)); //7 console.log(Math.ceil(7.2)); //8 console.log(Math.round(7.5)); //сегіз

2. toFixed(дәлдік) әдісін қолдану. Бұл әдіс санның бөлшек бөлігін көрсетілген дәлдікке дейін дөңгелектейді. Дөңгелектеу нәтижесі жол ретінде қайтарылады.

Console.log(7.987.toFixed(2)); //"7,99"

Егер санның көрсетілген дәлдігін қалыптастыру үшін ондық бөлшектер жеткіліксіз болса, онда ол нөлдермен толтырылады.

Console.log(7.987.toFixed(5)); //"7,98700"

3. toPrecision(precision) әдісі арқылы. Бұл әдіс көрсетілген дәлдікпен санды білдіреді. Бұл ретте ол тек бөлшекті ғана емес, санның бүтін бөлігін де дөңгелектей алады. Алынған санды тұрақты нүктедегі немесе экспоненциалды түрдегі нәтижеге байланысты осы әдіспен көрсетуге болады.

Console.log((1001).toPrecision(2)); //"1.0e+3" console.log((1001).toPrecision(5)); //"1001.0" console.log((12.4).toPrecision(1)); //"1e+1" console.log((12.4).toPrecision(2)); //"12" console.log((12.4).toPrecision(3)); //"12.4" console.log((12.4).toPrecision(5)); //"12.400"

4. Логикалық ЕМЕС немесе НЕМЕСЕ операторларын пайдалану.

//қос логикалық терістеу арқылы console.log(~~7.9); //7 // логикалық НЕМЕСЕ нөлді пайдалану арқылы: console.log(7.9^0); //7

Санның бүтін және бөлшек бөлігі

Санның бүтін бөлігін Math.floor() және parseInt() әдістері арқылы алуға болады:

Console.log(Math.floor(7.21)); // 7 console.log(parseInt(7.21)); // 7

Процент (%) операторы арқылы санның бөлшек бөлігін алуға болады. Бұл оператор бірінші санды екінші санға бөлуден алынатын қалдықты қайтарады. Бұл жағдайда 2-ші сан ретінде 1 қолданылуы керек.

Console.log(7,21%1); // 0,20999999999999996 // 2 ондық таңбаға дейін дәл console.log((7,21%1).toFixed(2)); // "0,21"

Сонымен қатар, бөлшек бөлікті есептеулер арқылы да алуға болады:

var number = 7,21; var fractionNumber = сан - Math.floor(Math.abs(сан)); console.log(бөлшек саны); // 0,20999999999999996

Бөлінетін сан

Процент операторы арқылы санның біркелкі бөлінетінін анықтауға болады:

нұсқа саны = 9; // егер 3-ке бөлетін санның қалдығы 0 болса, онда иә, әйтпесе жоқ if (сан%3==0) ( console.log («" + сан + " саны 3-ке бөлінеді»); ) басқа ( console. log("Сан " + сан + " 3-ке бөлінбейді"); )

Санды пішімдеу

JavaScript тілінде toLocaleString() әдісі тілге (операциялық жүйенің тіл параметрлері) сәйкес санның шығысын пішімдеуге мүмкіндік береді.

Мысалы, жүйеде әдепкі бойынша орнатылған аймақтық стандарттарға сәйкес нөмірді пішімдейік:

var number = 345,46; console.log(number.toLocaleString()); //"345,46"

Мысалы, санды Ресейдің аймақтық стандарттарына (ru) сәйкес пішімдейік:

Console.log((108.1).toLocaleString("ru-RU")); //"108.1"

Бұл әдісті санды валюта ретінде пішімдеу үшін де пайдалануға болады:

Console.log((2540.125).toLocaleString("ru-RU",(стиль:"валюта", валюта:"RUB"))); //"2,540,13 ₽" console.log((89.3).toLocaleString("ru-RU",(стиль:"валюта", валюта:"USD"))); //"$89,30" console.log((2301.99).toLocaleString("ru-RU",(стиль:"currency", валюта:"EUR"))); //"€2 301,99"

Санды пайызбен көрсету:

Console.log((0.45).toLocaleString("ru-RU",(стиль:"пайыз"))); //"45%"

Санды сандарға бөліңіз (useGrouping сипаты):

Console.log((125452.32).toLocaleString("ru-RU",(топтастыруды пайдалану:true))); //"125 452,32"

Ондық бөлшектен кейін белгілі бір цифрлар (2) бар санды басып шығарыңыз:

Console.log((1240.4564).toLocaleString("ru-RU",(minimumFractionDigits:2, maximumFractionDigits:2))); //"1240,46"

Сандарды салыстыру

JavaScript-те сандарды салыстыру үшін келесі операторлар қолданылады: == (тең), != (тең емес), > (үлкен),< (меньше), >= (үлкен немесе тең),<= (меньше или равно).

Мысалы, екі санды салыстырайық:

Console.log(2>3); //false console.log(5>=3); //шын

Бөлшек бөлігі бар сандарды салыстыру кезінде осы есептеулер кезінде орын алуы мүмкін қателерді ескеру қажет.

Мысалы, JavaScript-те сандардың қосындысы (0,2 + 0,4) 0,6-ға тең емес:

Console.log((0,2+0,4)==0,6); //жалған

Барлық есептеулер компьютер немесе басқа болғандықтан қателер орын алады электрондық құрылғы 2 санау жүйесінде шығарады. Анау. кез келген әрекетті орындамас бұрын компьютер алдымен өрнекте берілген сандарды 2 санау жүйесіне түрлендіруі керек. Бірақ 2-ші санау жүйесінде кез келген бөлшек ондық санды дәл көрсету мүмкін емес.

Мысалы, саны 0,25 10 дюйм екілік жүйедәл түрлендірілді.

0,125 × 2 = 0,25 | 0 0,25 × 2 = 0,5 | 0 0,5 × 2 = 1 | 1 0,125 10 = 0,001 2

Мысалы, 0,2 10 санын 2 жүйесіне белгілі бір дәлдікпен ғана түрлендіруге болады:

0,2 × 2 = 0,4 | 0 0,4 × 2 = 0,8 | 0 0,8 × 2 = 1,6 | 1 0,6 × 2 = 1,2 | 1 0,2 × 2 = 0,4 | 0 0,4 × 2 = 0,8 | 0 0,8 × 2 = 1,6 | 1 0,6 × 2 = 1,2 | 1 0,2 × 2 = 0,4 | 0 0,4 × 2 = 0,8 | 0 0,8 × 2 = 1,6 | 1 0,6 × 2 = 1,2 | 1 ... 0,2 10 = 0,001100110011... 2

Нәтижесінде бұл қателер екі санның қосындысын есептеуге және салыстыру нәтижелеріне әсер етеді. Анау. шын мәнінде JavaScript бұл жазбаны келесідей көретіні белгілі болды:

0.6000000000000001==0.6

Бөлшек бөлігі бар сандарды есептеу немесе көрсету кезінде сіз әрқашан мұны істеу дәлдігін көрсетуіңіз керек.

Мысалы, toFixed() және toPrecision() әдістерін пайдаланып 2 ондық таңбаға дейінгі сандарды салыстырыңыз:

//әдісі toFixed() console.log((0.2+0.4).toFixed(2)==(0.6).toFixed(2)); //true //toPrecision() әдісі console.log((0,2+0,4).toPrecision(2)==(0,6).toPrecision(2)); //шын

Негізгі математикалық амалдар

JavaScript-те келесі математикалық операторлар бар: + (қосу), - (алу), * (көбейту), / (бөлу), % (модуль), ++ (мәнді 1-ге арттыру), -- (мәнді 1-ге азайту).

6+3 //9 6-3 //3 6*3 //18 6/3 //2 6%3 //0, яғни. 6:3=2 => 6-3*2 => демалыс(0) 5%2 //1, яғни. 5:2=2(,5) => 5-2*2 => демалыс(1) 7,3%2 //1,3, яғни. 7.3:2=3(.65) => 7.3-2*3 => rest(1.3) //операция нәтижесінің таңбасы % бірінші мәннің таңбасына тең -9%2.5 //-1.5, яғни. 9:2,5=3(,6) => 9-2,5*3 => демалыс(1,5) -9%-2,5 //-1,5, яғни. 9:2,5=3(,6) => 9-2,5*3 => демалыс(1,5) -2%5 //-2, яғни. 2:5=0(.4) => 2-5*0 => демалыс(2) x = 3; консоль журналы(x++); //3 көрсетеді, содан кейін y мәнін 4-ке орнатады console.log(x); //4 x = 3; консоль журналы(++x); //4 жинайды және x = 5 шығарады; консоль журналы(x--); //5, y шығарады, содан кейін 4 console.log(x) орнатады; //4 x = 5; консоль журналы(--x); //4-ке орнатады және шығарады Сонымен қатар, JavaScript-те біріктірілген операторлар бар: x+=y (x=x+y), x-=y (x=xy), x*=y (x=x*y), x/= y (x=x/y), x%=y (x=x%y). x=3; y=6; x+=y; консоль журналы(x); //9 x = 3; y=6; x-=y; консоль журналы(x); //-3 x = 3; y=6; x*=y; консоль журналы(x); //18 x = 3; y=6; x/=y; консоль журналы(x); //0,5 x = 3; y=6; x%=y; консоль журналы(x); //3

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!