Можно создать дубликат:
Round a double to 2 significant figures after decimal pointокругления десятичных точек
Я пытаюсь работать с преобразованием десятичных степеней (23.1248) в степень минут стиля (23 7'29.3"). это то, что я до сих пор:
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
все работает отлично, но я хотел бы округлить секунды до ближайшей десятой или четвертой. Я посмотрел на десятичное форматирование, но предпочел бы не передавать его в строку. Я также посмотрел на bigdecimal, но не думаю, что это было бы полезно,
Существует круглый метод Js –
Я думал десятичные точки уже были круглые. И минус знаки, плюс знаки и деление были полностью плоскими :) Чтобы «округлить до 100», просто используйте «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 отлично работает, вы можете создать круглую (числовую, десятичную) функцию, подобную той, что содержится в этом ответе. Попытайтесь, я не понимаю, почему это не сработает. http://stackoverflow.com/a/8911683/744859 –