Angļu valodas nozīme apcirpt ir uz apgriezt vai plūme , vai griezt kaut ko un apgriešanas procesu sauc saīsināšana . Datorzinātņu jomā šo terminu bieži lieto, atsaucoties uz datu veidiem vai mainīgajiem lielumiem (piemēram, Stīga , peldošā komata skaitļi utt.). Tas ir tuvināšanas veids. Apspriedīsim kas ir saīsināšana Java valodā un kā mēs varam apcirpt peldošo vai dubultā tipa numurs caur a Java programma .
Apcirpšana
In Java programmēšana , saīsināšana nozīmē apgriezt dažus a ciparus peldēt vai dubultā tipa cipars vai dažas a rakstzīmes virkne no labās puses. Mēs varam arī pilnībā saīsināt decimāldaļu, kas padara to par an vesels skaitlis . Atcerieties, ka pēc saīsināšanas skaitlis netiks noapaļots līdz tuvākajai vērtībai. Tāpēc saīsināšana ir tuvināšanas veids .
To parasti izmanto skaitļošanā (īpaši datu bāzē un programmēšanā), kad dalīšana tiek veikta ar veseliem skaitļiem un rezultātiem ir jābūt veselam skaitlim.
Piezīme: saīsināšana un noapaļošana ir divi pilnīgi atšķirīgi jēdzieni. Tas nav tas pats, kas Math.floor() , Math.ceil() , un Math.round() funkcija Matemātikas klase .
Tagad mēs esam skaidri sapratuši saīsināšanas jēdzienu. Apskatīsim dažas pieejas peldošo vai dubultā tipa skaitļu un virkņu saīsināšanai.
Piemērs
Pieņemsim, ka dubultā tipa skaitlis num=19,87874548973101 ir dots. Ir nepieciešams, lai aiz komata ir tikai 3 cipari. Šādos gadījumos mēs piesakāmies saīsināšana . Pēc pārējo ciparu saīsināšanas mēs iegūstam 19 878 .
Ja mēs saīsinām visus ciparus, kas nāk aiz komata, tas kļūst 19 . Ja skaitlis ir noapaļots līdz tuvākajam veselam skaitlim, tas kļūst divdesmit .
Tagad mēs esam skaidri sapratuši saīsināšanu. Apskatīsim dažas pieejas peldošo vai dubultā tipa skaitļu un virkņu saīsināšanai.
vaicājuma atlasītājs
Pieejas
Ir divas pieejas skaitļa saīsināšanai:
- Izmantojot matemātisko loģiku
- String Matching izmantošana
Izmantojot matemātisko loģiku
Mēs varam saīsināt numuru, veicot šādas darbības:
- Pārvietojiet norādītā skaitļa decimāldaļu (n) uz norādīto decimāldaļu (dp), reizinot skaitli 10dp.
- Nosakiet iegūtās vērtības zemāko vērtību (ko iegūstam no 1. darbības).
- Daliet zemāko vērtību ar 10dp.
Vērtība, ko iegūstam no 3. darbības, ir saīsināta vērtība.
Ja mēs attēlojam iepriekš minētās darbības matemātikas izteiksmē, mēs iegūstam:
atsauces datu tipi java
- n = n*pow(10,decimālvieta);
- n = grīda(n);
- n = n / pow(10, decimālvieta);
Piemērs: saīsiet 1,231 līdz 2 zīmēm aiz komata.
n=1,231*pow(10,2)
n=1,231*100 = 123 100
n = grīda (123,100) = 123
n=123/pow(10,2)
n=123/100 = 1.23
Ieviesīsim iepriekš minēto loģiku Java programmā.
SaīsināšanaPiemērs1.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); } }
Izvade:
The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874
String Matching izmantošana
- Pārvērtiet dubultā vai peldošā tipa par Stīga
- Atrodi decimālzīme punkts virknē.
- Palieliniet mainīgo ( skaitīt ), līdz iegūstam komatu.
- Saglabājiet jauno virkni un nosūtiet to uz parseDouble() metodi. Metode atgriež dubulto vērtību, ko attēlo virkne.
Vērtība, ko iegūstam no 4. darbības, ir saīsināta vērtība.
Ieviesīsim iepriekš minētās darbības Java programmā.
SaīsināšanaPiemērs2.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); } }
Izvade:
The number before truncation is: 556.9871233986399 The number after truncation is: 556.987
Mēs arī varam apgrieziet virkni Java . Šai Java virknes klase nodrošina trim() metodi.