Tôi có thể làm điều đó với System.out.print
không?Làm thế nào để hiển thị đầu ra của dữ liệu float với 2 chữ số thập phân trong Java?
Trả lời
Bạn có thể sử dụng phương pháp printf
, như vậy:
System.out.printf("%.2f", val);
Nói tóm lại, cú pháp %.2f
nói với Java để trở biến của bạn (val
) với 2 chữ số thập phân (.2
) trong đại diện thập phân của một floating- số điểm (f
) từ đầu công cụ định dạng (%
).
Có những nhân vật chuyển đổi khác mà bạn có thể sử dụng ngoài f
:
d
: số nguyên thập phâno
: số nguyên bát phâne
: dấu chấm động trong ký hiệu khoa học
Bạn có thể sử dụng DecimalFormat
. Một cách để sử dụng:
DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);
System.out.println(df.format(decimalNumber));
Một cách khác là xây dựng nó bằng định dạng #.##
.
Tôi thấy tất cả các tùy chọn định dạng ít có thể đọc được hơn gọi phương thức định dạng, nhưng đó là vấn đề ưu tiên.
gì đã xảy ra với 'System.out.printf' cú pháp (, giá trị "% 2f.")? Nó vẫn còn xung quanh? –
. nó vẫn là một lựa chọn - bạn có thể phục hồi câu trả lời của bạn;) – Bozho
Có vẻ như đó là tùy chọn của tôi, vì tôi không biết cách sử dụng DecimalFormat nữa :) Cảm ơn! –
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));
Xin chào Kevin, nếu nếu nhập 10.0000, tôi chỉ nhận được 10. Nếu tôi muốn hiển thị 10,00 thì làm thế nào tôi có thể làm gì? – Mdhar9e
@ Mdhar9e sử dụng 'DecimalFormat df = new DecimalFormat (" 0.00 ");' –
Nhìn vào DecimalFormat
Dưới đây là một ví dụ từ hướng dẫn:
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.out.println(value + " " + pattern + " " + output);
Nếu bạn chọn một mô hình như thế nào, bạn sẽ nhận được hai chữ số thập phân, và tôi nghĩ rằng các giá trị được làm tròn "### ##." lên. Bạn sẽ muốn xem liên kết để có định dạng chính xác mà bạn muốn (ví dụ: bạn có muốn số không theo sau)
Nhiều người đã đề cập DecimalFormat
. Nhưng bạn cũng có thể sử dụng printf
nếu bạn có một phiên bản mới của Java:
System.out.printf("%1.2f", 3.14159D);
See the docs on the Formatter for more information about the printf format string.
Tôi khuyên bạn nên sử dụng String.format() nếu bạn cần giá trị dưới dạng String
trong mã của mình.
Ví dụ, bạn có thể sử dụng String.format()
theo cách sau:
float myFloat = 2.001f;
String formattedString = String.format("%.02f", myFloat);
"% .02f" và "% .2f" là điều tương tự – Borzh
OK - str nổi.
package test;
import java.text.DecimalFormat;
public class TestPtz {
public static void main(String[] args) {
String preset0 = "0.09,0.20,0.09,0.07";
String[] thisto = preset0.split(",");
float a = (Float.valueOf(thisto[0])).floatValue();
System.out.println("[Original]: " + a);
a = (float) (a + 0.01);
// Part 1 - for display/debug
System.out.printf("[Local]: %.2f \n", a);
// Part 2 - when value requires to be send as it is
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
System.out.println("[Remote]: " + df.format(a));
}
}
Output:
run:
[Original]: 0.09
[Local]: 0.10
[Remote]: 0.10
BUILD SUCCESSFUL (total time: 0 seconds)
Một thủ thuật đơn giản là để tạo ra một phiên bản ngắn hơn của biến của bạn bằng cách nhân nó với ví dụ100
, làm tròn nó và chia nó bằng 100.0
một lần nữa. Bằng cách này bạn có thể tạo một biến, với 2 chữ số thập phân:
double new_variable = Math.round(old_variable*100)/100.0;
này "rẻ tiền lừa" luôn đủ tốt cho tôi, và làm việc tại bất kỳ ngôn ngữ (tôi không phải là một người Java, chỉ cần học nó) .
Điều này sai, nhiều số sẽ lặp lại các số trong biểu diễn nổi sau khi bạn chia 100. Do đó không phải là hai chữ số thập phân. – matt
float floatValue=22.34555f;
System.out.print(String.format("%.2f", floatValue));
Đầu ra là 22,35. Nếu bạn cần 3 dấu thập phân, hãy đổi nó thành "% .3f".
chương trình đơn giản nhỏ cho cuộc biểu tình:
import java.io.*;
import java.util.Scanner;
public class twovalues {
public static void main(String args[]) {
float a,b;
Scanner sc=new Scanner(System.in);
System.out.println("Enter Values For Calculation");
a=sc.nextFloat();
b=sc.nextFloat();
float c=a/b;
System.out.printf("%.2f",c);
}
}
float f = 102.236569f;
DecimalFormat decimalFormat = new DecimalFormat("#.##");
float twoDigitsF = Float.valueOf(decimalFormat.format(f)); // output is 102.24
Tùy thuộc vào ngôn ngữ bạn có thể nhận được dấu phẩy. Nếu bạn muốn có dấu phân tách dấu chấm, hãy sử dụng dấu thập phân này: DecimalFormat ("#. ##", DecimalFormatSymbols (Locale.US)) – DPM
- 1. JavaScript hiển thị một float đến 2 chữ số thập phân
- 2. Làm cách nào để hiển thị thêm số thập phân trong bảng điều khiển đầu ra?
- 3. Làm thế nào để cout một số float với nơi n chữ số thập phân
- 4. Hiển thị số ở 2 chữ số thập phân trong GridView
- 5. Làm thế nào để chuyển đổi từ chuỗi định dạng phân số thành thập phân hoặc Float trong Java?
- 6. Học thuyết 2 - 2 chữ số thập phân trên phao?
- 7. Cách đếm số chữ số thập phân trong Float?
- 8. Vòng 2 chữ số thập phân
- 9. Android - Vòng 2 chữ số thập phân
- 10. Làm thế nào để hiển thị đầu ra với hai chữ số chính xác
- 11. Cách hiển thị số đến 2 chữ số thập phân trong mvc3, C#?
- 12. Đầu ra luồng C++ với 3 chữ số sau dấu thập phân. Làm sao?
- 13. Làm thế nào để tạo ra số ngẫu nhiên của dấu thập phân cho trước giữa 2 số trong Python?
- 14. Thực hiện nhập số html luôn hiển thị 2 chữ số thập phân
- 15. Làm tròn xuống 2 chữ số thập phân trong C#
- 16. Làm cách nào để chỉ hiển thị 2 số thập phân đầu tiên không bằng với 0
- 17. Làm cách nào để làm tròn số thập phân xuống 2 chữ số thập phân trong .Net?
- 18. Luôn hiển thị số chữ số thập phân cụ thể trong PHP (làm tròn)
- 19. Kiểm soát số chữ số thập phân trong đầu ra in trong R
- 20. buộc một chuỗi đến 2 chữ số thập phân
- 21. Chuyển đổi số thành 2 chữ số thập phân trong Java
- 22. Số định dạng SQLite với 2 chữ số thập phân luôn là
- 23. làm thế nào tôi có thể hiển thị một số vô tỉ đến 100 chữ số thập phân trong python?
- 24. Số nguyên là hai chữ số thập phân trong Java
- 25. Hiển thị số ở định dạng thập phân 2 điểm trong jsf
- 26. Làm tròn đến 2 chữ số thập phân
- 27. Luôn hiển thị số thập phân trong SQL?
- 28. Cách hiển thị số đến hai chữ số thập phân trong hàm bash
- 29. Hiển thị hai chữ số sau dấu thập phân trong C++
- 30. số vòng đến 2 chữ số thập phân
Hãy cẩn thận như String.format phụ thuộc vào cấu hình cục bộ hiện tại của bạn, bạn có thể không nhận được dấu chấm làm dấu tách. Thích sử dụng 'String.format (java.util.Locale.US,"%. 2f ", val);' – Gomino
@gomino Tại sao không 'Locale.FRANCE'? – erickson
@erickson ở Pháp dấu phân cách thập phân là dấu phẩy và không phải là dấu chấm. – Gomino