我创建用于分割数字的Android应用程序。
int a,b;
int result = a/b;
if (result==decimal){
Log.v ("result","your result number is decimal")
} else {
Log.v ("result","your result number is not decimal")
}
如何检查result
是否为小数?
答案 0 :(得分:11)
使用模数运算符检查是否有余数。
if(a % b != 0) Log.v("result", "The result is a decimal");
else Log.v("result", "The result is an integer");
答案 1 :(得分:2)
int
不会包含小数,它们总是取代结果:例如3 / 5 = 0
为int
。也就是说你可以使用modulo(%
)来确定是否删除了小数。
if(a % b > 0) { // 3 % 5 = 3
// Decimal places will be lost
}
答案 2 :(得分:1)
您可以使用模数除法来检查数字是否为小数。假设您使用模数并将数字除以 1。如果它是整数(数学,而不是 java),则余数应为 0。如果是小数,则应为除 0 以外的任何值。例如,以下代码片段代码:
double number = 23.471;
if (number % 1 != 0)
{
System.out.print ("Decimal");
}
else
{
System.out.print ("Integer");
}
在这种情况下,它会输出“Decimal”,因为余数不等于 0。
现在在一个完整的程序中会是什么样子?下面的简单程序应该允许输入数字,然后输出数字是整数(数学)还是小数。
import java.util.*;
public class TestClass
{
public static void main (String [] args)
{
Scanner keyboard = new Scanner (System.in);
System.out.print ("Enter a number: ");
double number = keyboard.nextDouble ();
if (number % 1 != 0)
{
System.out.print ("Your number is a decimal!");
}
else
{
System.out.print ("Your number is an integer!");
}
}
}
答案 3 :(得分:-1)
您还可以检查字符串是否包含.
。
String.parseString(decimalNumber).contains(".");