好吧,我对java很新,但我很快就学会了(希望如此).所以无论如何这是我的问题:
我有一个字符串(例如我们将使用2.9),我需要将其更改为int或long或类似的东西,我可以用它来比较另一个数字.
据我所知,int不支持小数,我不确定是否有多长时间?如果不是,我需要知道支持小数的是什么.
这是错误:java.lang.NumberFormatException: For input string: "2.9"使用Interger.parseInt和Long.parseLong
所以任何帮助将不胜感激!
您不能直接从小数点值获取int(或)long.
一种方法是:
首先得到一个double值,然后得到int(或)long.
例:
int temp = Double.valueOf("20.2").intValue();
System.out.println(temp);
Run Code Online (Sandbox Code Playgroud)
输出:
20
Run Code Online (Sandbox Code Playgroud)
和int都是long整数值(是长整数long的表示,它是具有更高容量的整数)。解析失败,因为这些类型不支持小数部分。
如果您要使用它们并强制转换,您将放弃数字的小数部分。
double iAmADouble = 100 / 3;
int iWasADouble = (int)iAmADouble; //This number turns out to be 33
Run Code Online (Sandbox Code Playgroud)
使用double或float代替。
| 归档时间: |
|
| 查看次数: |
13091 次 |
| 最近记录: |