thể trùng lặp:
Round a double to 2 significant figures after decimal pointlàm tròn điểm thập phân
tôi đang cố gắng để làm việc với chuyển đổi một mức độ thập phân (23,1248) vào một mức độ phút phong cách (23 7'29.3"). đây là những gì tôi có cho đến thời điểm này:
double a=23.1248;
int deg=(int)a;//gives me the degree
float b=(float) (a-deg);
int min=(int) (b*60);//gives me the minutes
double sec= (double) ((c*60)-min);//gives me my seconds
mọi thứ hoạt động tốt, nhưng tôi muốn để làm tròn số giây lên đến mười hoặc mười lăm gần nhất. Tôi đã xem định dạng thập phân, nhưng không muốn bỏ nó vào một chuỗi. Tôi cũng đã xem xét tỷ lệ lớn nhưng không nghĩ điều đó sẽ hữu ích,
Có một phương pháp vòng trong js –
Tôi nghĩ điểm thập phân đã có hình tròn. Và dấu trừ, dấu cộng và phân chia đều bằng phẳng :) Để "làm tròn tới 100", chỉ cần sử dụng "Math.round()": http://docs.oracle.com/javase/1.4.2/docs/api /java/lang/Math.html double x = round (y/100.0) * 100.0; – paulsm4
BigDecimal hoạt động tốt, bạn có thể tạo một vòng (số, số thập phân) chức năng giống như một trong câu trả lời này. Hãy thử nó, tôi không thấy lý do tại sao nó sẽ không hoạt động. http://stackoverflow.com/a/8911683/744859 –