Anglų kalbos reikšmė sutrumpinti yra apkarpyti arba slyva , arba supjaustyti kažkas ir vadinamas kirpimo procesas sutrumpinimas . Informatikos srityje šis terminas dažnai vartojamas kalbant apie duomenų tipus arba kintamuosius (pvz., Styga , slankiojo kablelio skaičiai ir kt.). Tai aproksimavimo būdas. Aptarkime kas yra sutrumpinimas Java ir kaip galime sutrumpinti plūduriuojantį arba dvigubo tipo skaičius per a Java programa .
Sutrumpinimas
Į Java programavimas , sutrumpinimas reiškia apkarpyti kai kuriuos a skaitmenis plūdė arba dvigubo tipo skaičius arba kai kurie a simboliai styga iš dešinės. Taip pat galime visiškai sutrumpinti dešimtainę dalį, kad ji būtų an sveikasis skaičius . Atminkite, kad po sutrumpinimo skaičius nebus suapvalintas iki artimiausios vertės. Vadinasi, sutrumpinimas yra aproksimavimo būdas .
Paprastai jis naudojamas skaičiavimuose (ypač duomenų bazėse ir programavime), kai dalijimas atliekamas su sveikaisiais skaičiais, o rezultatai turi būti sveikieji.
Pastaba: Sutrumpinimas ir apvalinimas yra dvi visiškai skirtingos sąvokos. Tai nėra tas pats, kas Math.floor() , Math.ceil() , ir Math.round() funkcija Matematikos klasė .
Dabar mes aiškiai supratome sutrumpinimo sąvoką. Pažiūrėkime, kaip sutrumpinti slankiuosius arba dvigubo tipo skaičius ir eilutę.
Pavyzdys
Tarkime, dvigubo tipo skaičius skaičius = 19,87874548973101 yra duota. Reikalaujama, kad po kablelio būtų tik 3 skaitmenys. Tokiais atvejais kreipiamės sutrumpinimas . Sutrumpinę likusius skaitmenis, gauname 19 878 .
Jei sutrumpiname visus skaitmenis, einančius po kablelio, jis tampa 19 . Jei skaičius buvo suapvalintas iki artimiausio sveikojo skaičiaus, jis tampa dvidešimt .
Dabar mes aiškiai supratome sutrumpinimą. Pažiūrėkime, kaip sutrumpinti slankiuosius arba dvigubo tipo skaičius ir eilutę.
Prieigos
Yra du būdai sutrumpinti skaičių:
android procesas acore vis sustoja
- Naudojant matematinę logiką
- Styginių atitikimo naudojimas
Naudojant matematinę logiką
Mes galime sutrumpinti skaičių atlikdami šiuos veiksmus:
- Nurodyto skaičiaus (n) dešimtainę dalį perkelkite į nurodytą dešimtainį skaičių (dp) padaugindami skaičių 10dp.
- Nustatykite gautos vertės žemiausią vertę (kurią gauname iš 1 veiksmo).
- Padalinkite žemiausią vertę iš 10dp.
Vertė, kurią gauname iš 3 veiksmo, yra sutrumpinta vertė.
Jei vaizduosime aukščiau nurodytus veiksmus matematikos požiūriu, gausime:
- n = n*pow(10, dešimtainis);
- n = grindys(n);
- n = n / pow(10, dešimtainis);
Pavyzdys: sutrumpinkite 1,231 iki 2 skaitmenų po kablelio.
n=1,231*pow(10,2)
n = 1,231 * 100 = 123 100
n = grindys (123,100) = 123
n = 123 / pow (10, 2)
n = 123/100 = 1.23
Įdiegkime minėtą logiką Java programoje.
TruncationExample1.java
import java.io.*; public class TrunctionExample1 { //driver code public static void main(String args[]) { //the number to truncate double num = 19.87874548973101; //number of digits to take after decimal int digits = 5; System.out.println('The number before truncation is: '+num); //calling user-defined method that truncates a number truncateNumber(num, digits); } //user-defined method to truncate a number static void truncateNumber(double n, int decimalplace) { //moves the decimal to the right n = n* Math.pow(10, decimalplace); //determines the floor value n = Math.floor(n); //dividing the floor value by 10 to the power decimalplace n = n / Math.pow(10, decimalplace); //prints the number after truncation System.out.println('The number after truncation is: '+n); } }
Išvestis:
The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874
Styginių atitikimo naudojimas
- Konvertuokite dvigubą arba plūduriuojančią tipą į Styga
- Surask dešimtainis taškas eilutėje.
- Padidinkite kintamąjį ( skaičiuoti ), kol gausime po kablelio.
- Išsaugokite naują eilutę ir perduokite ją parseDouble() metodas. Metodas grąžina dvigubą reikšmę, kurią reiškia eilutė.
Vertė, kurią gauname iš 4 veiksmo, yra sutrumpinta vertė.
Įdiegkime aukščiau nurodytus veiksmus Java programoje.
TruncationExample2.java
import java.io.*; public class TruncationExample2 { public static void main(String args[]) { //the number to truncate double num = 556.9871233986399; //number of digits to take after decimal int decimalplaces = 3; //converting a double type value to String type String strnum = '' + num; //stores the truncated string String strval = ''; int count = -1; //loop iterates over the string until the condition becomes false for (int i = 0; i decimalplaces) { break; } //if the above condition returns false else block is executed else //compares each character of the strnum with decimal //if returns true variable by 1 if (strnum.charAt(i) == '.') { count = 1; } else if (count >= 1) { //increments the count variable by 1 ++count; } //converting the number into string strval = strval + strnum.charAt(i); } System.out.println('The number before truncation is: '+num); //returns double value represented by the string argument double truncatedvalue = Double.parseDouble(strval); System.out.println('The number after truncation is: '+truncatedvalue); } }
Išvestis:
The number before truncation is: 556.9871233986399 The number after truncation is: 556.987
Mes taip pat galime apkarpykite eilutę Java . Šiai „Java String“ klasei pateikiamas trim() metodas.