Englanninkielinen merkitys katkaista on trimmata tai karsia , tai leikata jotain ja trimmausprosessia kutsutaan katkaisu . Tietojenkäsittelytieteen alalla termiä käytetään usein viitaten tietotyyppeihin tai muuttujiin (kuten merkkijono , liukulukuluvut jne.). Se on likimääräinen tapa. Keskustellaan mikä on katkaisu Javassa ja kuinka voimme katkaista kelluvan tai kaksinkertainen numero a:n kautta Java ohjelma .
Katkaisu
Sisään Java ohjelmointi , katkaisu tarkoittaa joidenkin a:n numeroiden leikkaamista kellua tai kaksoistyyppinen numero tai joitain a:n merkkejä merkkijono oikealta. Voimme myös katkaista desimaaliosan kokonaan, jolloin siitä tulee an kokonaisluku . Muista, että lyhennyksen jälkeen lukua ei pyöristetä lähimpään arvoonsa. Siten, katkaisu on approksimaatiotapa .
10 prosenttia 60:stä
Sitä käytetään yleensä laskennassa (erityisesti tietokannassa ja ohjelmoinnissa), kun jako tehdään kokonaisluvuilla ja tulosten tulee olla kokonaislukuja.
Huomautus: Katkaisu ja pyöristys ovat kaksi täysin erilaista käsitettä. Se ei ole sama kuin Math.floor() , Math.ceil() , ja Math.round() toiminto Matikan tunti .
Nyt olemme selvästi ymmärtäneet katkaisun käsitteen. Katsotaanpa joitakin lähestymistapoja kelluvien tai kaksoistyyppisten numeroiden ja merkkijonojen katkaisemiseen.
Esimerkki
Oletetaan, että kaksoistyyppinen numero numero = 19,87874548973101 on annettu. Desimaalipilkun jälkeen on oltava vain 3 numeroa. Tällaisissa tapauksissa haemme katkaisu . Kun loput numerot on katkaistu, saamme 19,878 .
Jos katkaisemme kaikki desimaalipilkun jälkeen tulevat numerot, siitä tulee 19 . Jos luku on pyöristetty lähimpään kokonaislukuun, siitä tulee kaksikymmentä .
Nyt olemme selvästi ymmärtäneet katkaisun. Katsotaanpa joitakin lähestymistapoja kelluvien tai kaksoistyyppisten numeroiden ja merkkijonojen katkaisemiseen.
Lähestymistapoja
Numeron katkaisemiseen on kaksi tapaa:
- Matemaattisen logiikan käyttö
- String Matchingin käyttäminen
Matemaattisen logiikan käyttö
Voimme katkaista numeron seuraavilla vaiheilla:
- Siirrä määritetyn luvun (n) desimaali annettuun desimaaliin (dp) kertomalla luku 10dp.
- Määritä tuloksena olevan arvon pohja-arvo (jonka saamme vaiheesta 1).
- Jaa pohja-arvo 10:llädp.
Arvo, jonka saamme vaiheesta 3, on katkaistu arvo.
Jos edustamme yllä olevia vaiheita matematiikan kannalta, saamme:
- n = n*pow(10,desimaali);
- n = kerros(n);
- n = n/pow(10,desimaali);
Esimerkki: Katkaise 1,231 2 desimaalin tarkkuudella.
n=1,231*pow(10,2)
n = 1,231 * 100 = 123 100
n = kerros(123.100) = 123
n = 123/pw(10,2)
n = 123/100 = 1.23
Toteutetaan yllä oleva logiikka Java-ohjelmassa.
KatkaisuEsimerkki1.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); } }
Lähtö:
tavutaulukko merkkijonoksi
The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874
String Matchingin käyttäminen
- Muunna kaksois- tai float-tyyppi muotoon merkkijono
- Etsi desimaali piste merkkijonossa.
- Kasvata muuttujaa ( Kreivi ), kunnes saamme desimaalipilkun.
- Tallenna uusi merkkijono ja välitä se parseDouble() menetelmä. Metodi palauttaa merkkijonon edustaman kaksoisarvon.
Arvo, jonka saamme vaiheesta 4, on katkaistu arvo.
Toteutetaan yllä olevat vaiheet Java-ohjelmassa.
KatkaisuEsimerkki2.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); } }
Lähtö:
The number before truncation is: 556.9871233986399 The number after truncation is: 556.987
Voimme myös leikkaa merkkijono Javassa . Tälle Java-merkkijono-luokka tarjoaa trim()-menetelmän.