0

Javaで小数点以下のdoubleの値を取得することは可能ですか?

double number = 1.6小数部分が 6 の場合 ( 、または 2.6、または 98.6 など) 、コードでエラー メッセージを生成するようにします。6でない場合は、「正しい」と印刷したいだけです。

double の小数部分を取得するにはどうすればよいですか?

4

4 に答える 4

3

厳密に言えば: 不可能 - 理由: double に正確に .6 の小数値を含めることはできません (.6 で終わる数値は double として正確に表現できません)。

ただし、丸められた文字列表現が .6 であるかどうかを確認できます。

DecimalFormat f = new DecimalFormat("#0.0");
String s = f.format(mydoublevalue);
if (s.contains(".6")) {
    // error
} else {
    // correct
}
于 2012-10-11T15:17:56.687 に答える
1
String stringNumber=""+number;
if(stringNumber.contains(".6"){
promt user
}
于 2012-10-11T14:43:17.317 に答える
0

これを試して:

if(number - Math.floor(number) == 0.6){
  prompt error
}
于 2012-10-11T14:47:37.343 に答える
0

double をフロアし、その値を double から差し引いて、小数部分をチェック用に残すことができます。

double number = 2.6;
double numberWholePart = Math.floor(number);
double numberFractionPart = number - numberWholePart;

if(numberFractionPart == 0.6) {
    System.out.println("error!");
} 
于 2012-10-11T14:42:31.787 に答える