המשמעות האנגלית של לקטוע הוא ל מְטוּפָּח אוֹ לִגזוֹם , או גזירה משהו ותהליך החיתוך נקרא גְמִימָה . בתחום מדעי המחשב, המונח משמש לעתים קרובות בהתייחסות לסוגי נתונים או משתנים (כמו חוּט , מספרי נקודה צפה וכו'). זו דרך של קירוב. בוא נדון מה זה חיתוך בג'אווה ו איך נוכל לקצץ צף אוֹ מספר כפול דרך א תוכנית Java .
גְמִימָה
ב Java תִכנוּת , גְמִימָה פירושו לקצץ מספר ספרות של a לָצוּף אוֹ סוג כפול מספר או כמה תווים של a חוּט מימין. אנחנו יכולים גם לקצץ לחלוטין את החלק העשרוני שהופך אותו ל- מספר שלם . זכור כי לאחר חיתוך, המספר לא יהיה עגול לערכו הקרוב ביותר. לָכֵן, חיתוך הוא דרך לקירוב .
הוא משמש בדרך כלל במחשוב (במיוחד במסד נתונים ובתכנות) כאשר החלוקה נעשית עם מספרים שלמים והתוצאות חייבות להיות מספר שלם.
הערה: חיתוך ועיגול הם שני מושגים שונים לחלוטין. זה לא אותו דבר כמו Math.floor() , Math.ceil() , ו Math.round() פונקציה של שיעור מתמטיקה .
כעת הבנו בבירור את מושג הקטיעה. בואו נראה גם כמה גישות לקיצור מספרים צפים או דו-סוגים ומחרוזת.
דוגמא
נניח, מספר כפול num=19.87874548973101 נתון. חובה שיהיו רק 3 ספרות אחרי הנקודה העשרונית. במקרים כאלה, אנו פונים גְמִימָה . לאחר חיתוך ספרות השאר, נקבל 19,878 .
אם נקצץ את כל הספרות הבאות אחרי הנקודה העשרונית, זה הופך 19 . אם המספר עוגל למספר השלם הקרוב הוא הופך להיות עשרים .
עכשיו הבנו בבירור את הקטיעה. בואו נראה גם כמה גישות לקיצור מספרים צפים או דו-סוגים ומחרוזת.
גישות
ישנן שתי גישות לקיצור מספר:
- שימוש בלוגיקה מתמטית
- שימוש בהתאמת מחרוזות
שימוש בלוגיקה מתמטית
אנו יכולים לקצץ את המספר באמצעות השלבים הבאים:
- הזז את העשרוני של המספר שצוין (n) למקום העשרוני הנתון (dp) על ידי הכפלת המספר 10dp.
- קבע את ערך הרצפה של הערך המתקבל (שנקבל משלב 1).
- מחלקים את ערך הרצפה ב-10dp.
הערך שאנו מקבלים משלב 3, הוא ערך קטוע.
אם נציג את השלבים לעיל במונחים של מתמטיקה, נקבל:
- n = n*pow(10,מקום עשרוני);
- n = floor(n);
- n = n / pow(10,מקום עשרוני);
דוגמה: חתוך 1.231 עד 2 מקומות עשרוניים.
n=1.231*pow(10,2)
n=1.231*100 = 123,100
n=floor(123.100) = 123
n=123/pow(10,2)
n=123/100 = 1.23
בואו ליישם את ההיגיון שלעיל בתוכנית Java.
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); } }
תְפוּקָה:
The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874
שימוש בהתאמת מחרוזות
- המר את הסוג הכפול או הצף ל חוּט
- למצוא את ה נקודה נקודה במחרוזת.
- הגדל את המשתנה ( לספור ) עד שנקבל את הנקודה העשרונית.
- אחסן את המחרוזת החדשה והעביר אותה ל- parseDouble() שיטה. השיטה מחזירה את הערך הכפול המיוצג על ידי המחרוזת.
הערך שאנו מקבלים משלב 4, הוא ערך קטוע.
בואו ליישם את השלבים לעיל בתוכנית Java.
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); } }
תְפוּקָה:
רשת מחשבים
The number before truncation is: 556.9871233986399 The number after truncation is: 556.987
אנחנו יכולים גם לחתוך מחרוזת ב-Java . עבור זה מחלקה Java String מספקת את שיטת trim() .