2
A
回答
5
假设你得到了号码数字在String
,这将是
String number = ...;
if (number.indexOf('.') > -1)
...
1
你可以尝试yourNumberString.indexOf(".")
。如果返回大于-1的数字,则输入中有一个点。
1
您不需要像某些答案所建议的那样显式搜索小数点的位置。只需将String
解析为double,然后检查double是否代表整数值。这有利于对付双打的科学记数法;例如“1E-10”,以及未能解析格式不正确的输入;例如“12.34.56”(而搜索'。'字符不会检测到这一点)。
String s = ...
Double d = new Double(s);
int i = d.intValue();
if (i != d) {
System.err.println("User entered a real number.");
} else {
System.err.println("User entered an integer.");
}
+0
即使输入是整数,您的int在很多情况下也不会等于Double。浮点不是那么精确。您需要将int转换回Double并检查是否接近(在1.0e-6之内)。 – 2010-05-22 00:11:41
1
预见你的需要,我会建议你使用java.util.Scanner
的数字分析,并使用,而不是处理parseInt
等其hasNextXXX
方法和处理NumberFormatException
。
import java.util.*;
String[] inputs = {
"1",
"100000000000000",
"123.45",
"blah",
" "
};
for (String input : inputs) {
Scanner sc = new Scanner(input);
if (sc.hasNextInt()) {
int i = sc.nextInt();
System.out.println("(int) " + i);
} else if (sc.hasNextLong()) {
long ll = sc.nextLong();
System.out.println("(long) " + ll);
} else if (sc.hasNextDouble()) {
double d = sc.nextDouble();
System.out.println("(double) " + d);
} else if (sc.hasNext()) {
System.out.println("(string) " + sc.next());
}
}
此打印:
(int) 1
(long) 100000000000000
(double) 123.45
(string) blah
0
一些其他的方法可以做到这一点:
给出
String input = ...
以下的计算结果为真,如果它是一个十进制数
input.split(".").length == 2
或
input.matches(".+\\..+")
或
相关问题
- 1. 查找给定BST中小于给定数字(n)的最大数字
- 2. 如何在JavaScript中找到给定小数或其他数字的整数?
- 3. 查找大于给定数字的最小数字(访谈)
- 4. 找到数字中的特定数字
- 5. Excel在给定列中查找小数点后字符的最大长度
- 6. 如何查找给定行中的最小数字?
- 7. 查找最接近给定数字的数组中的数字
- 8. 查找排序列表中大于给定数字的最小数字
- 9. 查找整数数组中给定数值的最小集合
- 10. 找到数组中的数字,加起来给定的数字C++
- 11. 如何确定浮点数中小数点右边的数字?
- 12. 找到小于给定数字的斐波那契和小于O(n)
- 13. 找到所有正数小于或等于给定数字的总和
- 14. Java如何找到给定数字的正数除数
- 15. 将给定数字中所有数字的总和加到给定数字上?
- 16. 给定一组数据点,找到一个“最接近”的点
- 17. Java:指定小数点后的数字
- 18. 小数点后的数字固定量
- 19. 找到总和到给定值的最小素数
- 20. 找到由给定数字的数字组成的最大可能数字
- 21. 找到比BST中的给定值更高的值的数字
- 22. 在给定数字后查找素数
- 23. 找到离给定点最近的点
- 24. 找到指数函数给定两个点
- 25. 找到给定整数的最小Antiprime的更好算法
- 26. 如何找到2的最大功率小于给定的数
- 27. 找到给定函数的最小权重的路径
- 28. 找到数组中的一对数字,添加到给定的总和
- 29. 查找比数组给定数字的比较大的数字
- 30. 如何查找d3中给定范围内的数据点数
获得来自用户的输入 - 通过GUI或从一个文本文件,这是? – Mark 2010-05-21 11:14:38
这是功课吗? – ponzao 2010-05-21 11:33:44