簡體   English   中英

將某些數字從double轉換為int的java

[英]java conversion from double to int for certain numbers

import java.util.Scanner;
public class Test1C
{
    public static void main(String[] args)
    {
        Scanner reader = new Scanner(System.in);
        System.out.print("Enter an integer between 1 and 50: ");

        double quo;
        int num = reader.nextInt();

        for(double a = 1; a <= num; a++)
        {
            quo = (num / a);
            System.out.println(quo);            
        }
    }
}

這是我目前正在根據輸入的數字評估商列表的代碼。 現在,我的大腦一直不停地發泄着關於如何將當前為十進制的整數轉換為整數的信息。 但是,按此代碼打印的雙打(例如:1.333)是可以的。 我只是不知道如何將整數小數(例如:12.0)轉換為整數整數。 有人能幫我嗎?

你可以那樣做。

Double d = new Double(1.25);
int i = d.intValue();
System.out.println("The integer value is :"+ i);

是的你可以 :

String s = "1.333";
double d = Double.parseDouble(s);
int i = (int) d;

要么

String s="1.333";
int i= new Double(s).intValue();

沒有通用的方法來檢測double是否是真正的整數,通常必須非常小心地處理double和double或int的比較,但是對於程序中的數字范圍(可能會提高上限)相當),這將根據您的需要工作:

    for(double a = 1; a <= num; a++)      {
        double quo = num/a;
        int iquo  = (int)quo;
        if( iquo == quo ){
           System.out.println(iquo);
        } else {
           System.out.println(quo);
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM