Có vẻ như câu hỏi đơn giản nhưng Tôi thực sự mút toán học và vài ví dụ trực tuyến mà tôi đã tìm kiếm có vẻ không hoạt động đối với tôi. (Kết quả chỉ trả về giá trị giống như đầu vào vv)Java - Làm thế nào để làm tròn giá trị float (hoặc BigDecimal) bằng 0,5?
Ví dụ .. nhưng nó trong C không Java Round to Next .05 in C
Vì vậy, mục tiêu của tôi là tôi có %.1f
định dạng float
hoặc double
hoặc big decimal
và muốn tròn nó lên đến gần .5
example:
1.3 --> 1.5
5.5 --> 5.5
2.4 --> 2.5
3.6 --> 4.0
7.9 --> 8.0
tôi đã cố gắng theo gương nhưng đã không làm việc :(dưới đây chỉ ra 1.3 được giá trị ban đầu. tôi muốn nó được 1,5
public class tmp {
public static void main(String[] args) {
double foo = 1.3;
double mid = 20 * foo;
System.out.println("mid " + mid);
double out = Math.ceil(mid);
System.out.println("out after ceil " + out);
System.out.printf("%.1f\n", out/20.0);
}
}
omg nó hoạt động !! : D cảm ơn! Tôi nên học Toán là nhà phát triển! Tôi thậm chí có thể làm cùng một vòng xuống với sàn() quá, tuyệt vời –