算出した通貨量(JAVA)

通貨floatまたはdoubleを避けるため、精度を失います。推奨されるBigDecimalを

 

利用シナリオ

  最近量が元ポイントから変換する必要があるので、ポイントのマイクロ文字の量を提供するために、単一のインターフェイスの下に統一する小さなプログラムの支払能力、

 

  当初はフロートを使用して計算

パブリック 静的 ボイドメイン(文字列[]引数){
         // 0.01元 
        文字列料= "0.01" // 转为1分
        int型の金=(int型)(Float.parseFloat(有料)* 100 ); 
        System.out.println(金)。
    }

0.01元は「9999999」をより多くするために、結果が9999998.72算出し、問題ありません

 

だから、代わりにBigDecimalを

パブリック 静的 ボイドメイン(文字列[]引数){
     // 量単位員 
    文字列料= "9999999" ; 
    BigDecimalをdecimal1 = 新しい新規のBigDecimal(有料)
    のBigDecimal decimal2 = 新しい新規のBigDecimal(100 );
     // 量単位に分割
    int型マネー=   decimal1.multiply(decimal2).intValue(); 
    System.out.printlnは(マネー); // 9999999 
}

 

おすすめ

転載: www.cnblogs.com/kiko2014551511/p/11610971.html