2017-12-21 14 views
-1

何らかの理由で小数点の不正確さにもかかわらず浮動小数点数が絶対に必要であると仮定すると、2に丸める方法があります小数点以下桁数をdouble型に変換せずに?浮動小数点数を使ってJavaで小数点以下2桁に丸める方法

+0

Math.round()に問題がありますか?表示する必要がある場合は、formatを使用できます。 – clinomaniac

+0

フロートデータを丸めません。文字列として書式を設定するときは、場所の数を制限してください。 – VGR

+0

それはダブルスのためだけに使用されていませんか?私はフロートをダブルに変換することができることを知っていますが、私のプログラムは主にフロートで構成されています(私は現在のレベルの丸めが必要でないため、 (クリニックの場合)。 – SilentEevee

答えて

0

これを試してみてください:

public static float roundFloat(float number, int scale) 
{ 
    int pow = 10; 

    for (int i = 1; i < scale; ++i) 
     pow *= 10; 

    float tmp = number * pow; 

    return ((float) ((int) ((tmp - (int) tmp) >= 0.5f ? tmp + 1 : tmp)))/pow; 
} 

ソリッドと高速。

関連する問題