0

文字列値をintに変換しようとしています。文字列値には 10 進数が含まれていますが、この値を int 形式に変換できません。

私はこのコードを書きました:

public static void main(final String[] args){

    System.out.println("Test");
    final String nombre = "3.0";
    int entier;
    entier=Integer.parseInt(nombre);
    try
    {
        System.out.println("result :" + Integer.parseInt(nombre));
    }
    catch(final NumberFormatException nfe){
        System.out.println("NumberFormatException: "+nfe.getMessage());
    }
}

結果がありません。よろしくお願いします:)

4

5 に答える 5

3

文字列内の浮動小数点数であるため、Float.parseFloatorDouble.parseDoubleの代わりに使用しますInteger.parseInt

于 2013-09-12T15:24:38.493 に答える
2

あなたStringは であり、ではDoubleありませんInteger

         try
         {
             System.out.println("result :" + Float.parseFloat(nombre));
              // OR
             System.out.println("result :" + Double.parseDouble(nombre));
         }
于 2013-09-12T15:25:19.083 に答える
2

あなたの説明から、intを印刷したいことがわかりました。次のようにコーディングできます。

    public static void main(final String[] args) throws ParseException {
            NumberFormat formatter = NumberFormat.getInstance();
            formatter.setParseIntegerOnly(true);
            System.out.println("Test");
            final String nombre = "3.0";
            int entier;
            entier=formatter.parse(nombre).intValue();
            System.out.println("result :" + entier);
        }

NumberFormatは仕事をします

于 2013-09-12T15:30:37.560 に答える
2

同じ入力を引き続き使用できます。試す

  System.out.println("result :" + new Double(nombre).intValue());
于 2013-09-12T15:30:59.867 に答える
1

ここで何をしようとしているのかわかりませんが、これはコードの一部です。

public static void main(final String[] args){

    System.out.println("Test");
    final String nombre = "3.0";
    float entier;
    entier=Float.parseFloat(nombre);
    try
    {
        System.out.println("result :" + Float.parseFloat(nombre));
    }
    catch(final NumberFormatException nfe){
        System.out.println("NumberFormatException: "+nfe.getMessage());
    }
}

結論: Float.parseFloat または Double.parseDouble を使用する

于 2013-09-12T15:31:33.237 に答える