Làm thế nào để chuyển đổi một giá trị double
để int
làm như sau:Chuyển đổi kép để Int, làm tròn xuống
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
Đó là, câu trả lời luôn luôn làm tròn xuống.
Làm thế nào để chuyển đổi một giá trị double
để int
làm như sau:Chuyển đổi kép để Int, làm tròn xuống
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
Đó là, câu trả lời luôn luôn làm tròn xuống.
Nếu bạn rõ ràng truyềndouble
đến int
, phần thập phân sẽ bị cắt bớt. Ví dụ:
int x = (int) 4.97542; //gives 4 only
int x = (int) 4.23544; //gives 4 only
Hơn nữa, bạn cũng có thể sử dụng phương pháp Math.floor()
để làm tròn giá trị trong trường hợp bạn muốn double
giá trị trong trở lại.
double myDouble = 420.5;
//Type cast double to int
int i = (int)myDouble;
System.out.println(i);
Giá trị kép là 420,5 và ứng dụng in ra các giá trị số nguyên của 420
Nếu đôi là một Double
có vốn đầu D (một giá trị nguyên thủy đóng hộp):
Double d = 4.97542;
int i = (int) d.doubleValue();
// or directly:
int i2 = d.intValue();
Nếu double đã là double
nguyên thủy, thì bạn chỉ cần bỏ nó:
double d = 4.97542;
int i = (int) d;
bạn có thể cho tôi biết sự khác nhau giữa Double và double là gì? –
một đôi là giá trị điểm phẩy nguyên thủy. Một đôi là một đối tượng Java. – penguin
Tôi nghĩ rằng tôi đã có một đầu ra tốt hơn, đặc biệt là cho một phân loại dữ liệu kép.
Mặc dù câu hỏi này đã được đánh dấu đã được trả lời, có lẽ điều này sẽ giúp người khác;
Arrays.sort(newTag, new Comparator<String[]>() {
@Override
public int compare(final String[] entry1, final String[] entry2) {
final Integer time1 = (int)Integer.valueOf((int) Double.parseDouble(entry1[2]));
final Integer time2 = (int)Integer.valueOf((int) Double.parseDouble(entry2[2]));
return time1.compareTo(time2);
}
});
Một tùy chọn khác hoặc sử dụng Double
hoặc double
là sử dụng Double.valueOf(double d).intValue();
. Đơn giản và sạch sẽ
Cảm ơn, đã giải quyết được sự cố của tôi – Vogatsu
"Giá trị thập phân lỏng lẻo" có ý nghĩa gì? Liệu nó có cung cấp cùng một số như gọi 'Math.floor()'? –