היום נראה דרכים שונות להמיר מספר עשרוני למחרוזת ב-Java. המרת דאבל למחרוזת ב-Java ניתן לבצע בכמה דרכים שונות, נעבור דרכן אחת-אחת עם דוגמאות לקטעי קוד.
המרת Double למחרוזת ב-Java
בואו נסתכל על קטעי הקוד השונים להמרת double למחרוזת ב-Java. שימו לב כי
double
הוא סוג נתונים פרימיטיבי בעוד ש־Double
הוא אובייקט. בכל זאת, Java תומכת ב־autoboxing, לכן ניתן להשתמש בהם באופן חלפי ברוב המקרים.
-
שימוש באופרטור +
זוהי הדרך הפשוטה ביותר להמיר double למחרוזת ב-Java.
double d = 123.45d; String str = d+""; // str היא '123.45'
-
Double.toString()
ניתן להשתמש בשיטת toString של מחלקת Double כדי לקבל את הייצוג המחרוזתי של מספר double בנקודות עשרוניות. הקטע קוד הבא מראה איך להשתמש בו כדי להמיר double למחרוזת ב־java.
double d = 123.45d; String str = Double.toString(d); System.out.println(str); // מדפיס '123.45'
-
String.valueOf()
double d = 123.456d; String str = String.valueOf(d); // str היא '123.456'
-
new Double(double l)
הבנאי של Double עם ארגומנט מסוג double הופך לא מומלץ ב־Java 9, אך כדאי לך לדעת זאת.
double d = 123.45d; //הופך לא מומלץ מ־Java 9, השתמש ב־valueOf לביצועים טובים יותר String str = new Double(d).toString(); System.out.println(str);
-
String.format()
ניתן להשתמש בשיטת ה-String format של Java כדי להמיר double ל-String בתוכניות שלנו.
double d = 36.98d; String s = String.format("%f", d); System.out.println(s); //36.980000
-
DecimalFormat
ניתן להשתמש במחלקת
DecimalFormat
כדי להמיר double ל-String. ניתן גם לקבל מרכות מחרוזת עם מספר נקודות עשרוניות מסוימות ועיגול לחצי למעלה.double d = 123.454d; String str = DecimalFormat.getNumberInstance().format(d); System.out.println(str); //str is '123.454' //if you don't want formatting str = new DecimalFormat("#.0#").format(d); // rounded to 2 decimal places System.out.println(str); //str is '123.45' str = new DecimalFormat("#.0#").format(123.456); // rounded to 2 decimal places System.out.println(str); //str is '123.46'
-
StringBuilder, StringBuffer
ניתן להשתמש בפונקציית append של StringBuilder ושל StringBuffer כדי להמיר double למחרוזת.
double d = 123.45d; String str = new StringBuilder().append(d).toString();
דוגמה להמרת Double למחרוזת ב-Java
הנה תוכנית פשוטה בה נמיר double למחרוזת ונדפיס אותו באמצעות כל השיטות השונות שראינו למעלה.
package com.journaldev.string;
import java.text.DecimalFormat;
public class JavaDoubleToString {
public static void main(String[] args) {
double d = 123.45d;
String str = Double.toString(d);
System.out.println(str);
str = String.valueOf(d);
System.out.println(str);
// מבוטל מ-Java 9, השתמש ב-valueOf לביצועים טובים יותר
str = new Double(d).toString();
System.out.println(str);
str = String.format("%f", d);
System.out.println(str); //123.450000
str = d + "";
System.out.println(str);
str = DecimalFormat.getNumberInstance().format(d);
System.out.println(str);
str = new DecimalFormat("#.0#").format(d);
System.out.println(str);
str = new StringBuilder().append(d).toString();
System.out.println(str);
}
}
זה הכל להמרת מספר ממשי למחרוזת בתוכנית Java. הפניה: מסמך ה- API של Double
Source:
https://www.digitalocean.com/community/tutorials/java-convert-double-to-string