最後のゼロを含む小数点以下の桁を数えます

RoiboisTx:

私はこれを持って、

import java.util.Scanner;

public class StringDecimalPartLength {

    public static void main(String[] args){
       Scanner input = new Scanner(System.in);
       System.out.print("Enter a decimal number: ");
       Double string_Temp = Double.parseDouble(input.nextLine().replace(',', '.'));
       String string_temp = Double.toString(string_Temp);
       String[] result = string_temp.split("\\.");
       System.out.print(result[1].length() + " decimal place(s)");
    }
}

私は、このような4,90として、ゼロを末尾の番号を入力するまでそれが動作します。これは、ゼロと1を返しますが無視されます。

これを修正するには?ありがとうございました!

オマリセレスティン:

あなたはすでに文字列として入力を読んでいるので、あなたはその値を保存し、それが有効な進数であるかどうかを確認するためにテストすることができます。

import java.util.Scanner;

public class StringDecimalPartLength {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("Enter a decimal number: ");
        String value = input.nextLine().replace(',', '.');

        try {
            Double.parseDouble(value);

            String[] result = value.split("\\.");

            System.out.print(result[1].length() + " decimal place(s)");
        } catch (NumberFormatException e) {
            System.out.println("The entered value is not a decimal number.");
        }
    }
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=215010&siteId=1