המרת double ב-Java למחרוזת

היום נראה דרכים שונות להמיר מספר עשרוני למחרוזת ב-Java. המרת דאבל למחרוזת ב-Java ניתן לבצע בכמה דרכים שונות, נעבור דרכן אחת-אחת עם דוגמאות לקטעי קוד.

המרת Double למחרוזת ב-Java

בואו נסתכל על קטעי הקוד השונים להמרת double למחרוזת ב-Java. שימו לב כי double הוא סוג נתונים פרימיטיבי בעוד ש־Double הוא אובייקט. בכל זאת, Java תומכת ב־autoboxing, לכן ניתן להשתמש בהם באופן חלפי ברוב המקרים.

  1. שימוש באופרטור +

    זוהי הדרך הפשוטה ביותר להמיר double למחרוזת ב-Java.

    double d = 123.45d;
    String str = d+""; // str היא '123.45'
    
  2. Double.toString()

    ניתן להשתמש בשיטת toString של מחלקת Double כדי לקבל את הייצוג המחרוזתי של מספר double בנקודות עשרוניות. הקטע קוד הבא מראה איך להשתמש בו כדי להמיר double למחרוזת ב־java.

    double d = 123.45d;
    String str = Double.toString(d);
    System.out.println(str); // מדפיס '123.45'
    
  3. String.valueOf()

    double d = 123.456d;
    String str = String.valueOf(d); // str היא '123.456'
    
  4. 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);
    
  5. String.format()

    ניתן להשתמש בשיטת ה-String format של Java כדי להמיר double ל-String בתוכניות שלנו.

    double d = 36.98d;
    String s = String.format("%f", d);
    System.out.println(s); //36.980000
    
  6. 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'
    
  7. 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