可能性の重複:
Round a double to 2 significant figures after decimal point丸め小数点
私は分スタイルの度(23 7'29.3" )に小数度(23.1248)を変換して動作するようにしようとしています。 これは私がこれまで持っているものです。
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
すべてが正常に動作しますが、私は希望秒を最も近い10分の1秒またはhundrenthのいずれかに丸めます。私は小数点の書式を見てきましたが、文字列にキャストしたくないです。私も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 –