De Engelse betekenis van afkappen is om trimmen of gedroogde pruim , of snee iets en het proces van trimmen wordt genoemd inkorting . In de informatica wordt de term vaak gebruikt in verwijzing naar gegevenstypen of variabelen (zoals Snaar , getallen met drijvende komma, enz.). Het is een manier van benadering. Laten we bespreken wat is truncatie in Java En hoe kunnen we een float afkappen of dubbeltypenummer via a Java-programma .
Afknotting
In Java programmeren , inkorting betekent het bijsnijden van enkele cijfers van a vlot of dubbel type nummer of enkele tekens van a snaar vanaf rechts. We kunnen het decimale gedeelte ook volledig afkappen, waardoor het een geheel getal . Houd er rekening mee dat het getal na het afkappen niet naar de dichtstbijzijnde waarde zal worden afgerond. Vandaar, afkappen is een manier van benadering .
Het wordt meestal gebruikt in computers (vooral in databases en programmeren) wanneer deling wordt gedaan met gehele getallen en de resultaten een geheel getal moeten zijn.
willekeurig getal in Java
Opmerking: Afknotting en afronding zijn twee totaal verschillende concepten. Het is niet hetzelfde als Math.floor() , Math.ceil() , En Wiskunde.round() functie van de Wiskunde les .
Nu hebben we het concept van afknotting duidelijk begrepen. Laten we eens kijken naar enkele manieren om zwevende getallen of getallen van dubbel type en tekenreeksen af te kappen.
Voorbeeld
Stel, een dubbel typenummer getal=19,87874548973101 is gegeven. Het is vereist dat er slechts 3 cijfers achter de komma mogen staan. In dergelijke gevallen zijn wij van toepassing inkorting . Na het afkappen van de restcijfers krijgen we 19.878 .
Als we alle cijfers na de komma afkappen, wordt het: 19 . Als het getal is afgerond op het dichtstbijzijnde gehele getal, wordt het: twintig .
Nu hebben we het afkappen duidelijk begrepen. Laten we eens kijken naar enkele manieren om zwevende getallen of getallen van dubbel type en tekenreeksen af te kappen.
Benaderingen
Er zijn twee manieren om een getal af te korten:
- Wiskundige logica gebruiken
- Stringmatching gebruiken
Wiskundige logica gebruiken
We kunnen het nummer inkorten door de volgende stappen te gebruiken:
- Verplaats de decimaal van het opgegeven getal (n) naar de opgegeven decimale plaats (dp) door het getal 10 te vermenigvuldigendp.
- Bepaal de bodemwaarde van de resulterende waarde (die we uit stap 1 krijgen).
- Deel de vloerwaarde door 10dp.
De waarde die we uit stap 3 krijgen, is een ingekorte waarde.
Als we de bovenstaande stappen wiskundig weergeven, krijgen we:
- n = n*pow(10,decimaal);
- n = verdieping(n);
- n = n / pow(10,decimaal);
Voorbeeld: 1,231 afkappen tot op 2 decimalen.
n=1,231*pow(10,2)
n=1,231*100 = 123.100
n=vloer(123.100) = 123
n=123/pow(10,2)
n=123/100 = 1.23
Laten we de bovenstaande logica implementeren in een Java-programma.
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); } }
Uitgang:
The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874
Stringmatching gebruiken
- Converteer het dubbele of float-type naar Snaar
- Vind de decimale punt in de string.
- Verhoog de variabele ( graaf ) totdat we de komma hebben.
- Sla de nieuwe string op en geef deze door aan de ontledenDouble() methode. De methode retourneert de dubbele waarde die wordt weergegeven door de tekenreeks.
De waarde die we uit stap 4 krijgen, is een ingekorte waarde.
Laten we de bovenstaande stappen implementeren in een Java-programma.
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); } }
Uitgang:
The number before truncation is: 556.9871233986399 The number after truncation is: 556.987
We kunnen ook trim een string in Java . Hiervoor biedt de Java String-klasse de trim() -methode.