可能重複:
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
一切工作正常,但我想將秒數舍入到最接近的十分數或者hndrenth。我看過十進制格式,但不希望將其轉換爲字符串。我也看過bigdecimal,但不認爲這會有所幫助,
有一個在JS – 2012-01-11 19:12:56
圓方法我還以爲小數點已經全面。減號,加號和除號都是平坦的:)爲了「四捨五入到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 2012-01-11 19:14:46
BigDecimal正常工作,您可以創建一個類似於此答案中的圓形(數字,小數)函數。試試吧,我不明白爲什麼它不起作用。 http://stackoverflow.com/a/8911683/744859 – 2012-01-18 15:46:42