我试图通过以下方式将Java中的浮点数转换为整数:
4.55 = 455
12.45 = 1245
11.1234 = 111234
我该怎么办?
答案 0 :(得分:2)
一种选择是这样的:
float number = 4.55f;
int desiredNumber = Integer.parseInt(String.valueOf(number).replaceAll("\\.", ""));
但是这样的事情只有在转换模式保持不变的情况下才有效。我的意思是你想要从float转换为int的方式。希望这会有所帮助。
答案 1 :(得分:1)
这是一个例子
double f1 = 4.5;
String str = new Double(f1).toString();
str = str.replace(".", "");
Integer i = Integer.parseInt(str);
System.out.println(i);
答案 2 :(得分:0)
如果您希望能够使用任意大数字和任意多个小数,那么您可以使用BigDecimal
和BigInteger
BigDecimal number = new BigDecimal(
"5464894984546489498454648949845464894984546489498454648949845464894984546489498454648949845464894984.1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111");
String valueOf = number.toPlainString();
BigInteger desired = new BigInteger((valueOf.replaceAll("\\.", "")));
System.out.println(desired);
构造函数可以在需要时使用double或float
BigDecimal number = new BigDecimal(Double.MAX_VALUE);
BigDecimal number = new BigDecimal(Float.MAX_VALUE);
答案 3 :(得分:0)
类似的东西:
public int convert( float numbre) {
String nmbre = String.valueOf(numbre).replace(".", "");
return Integer.parseInt(nmbre );
}
答案 4 :(得分:0)
您可以将数字转换为字符串,删除点,然后创建一个新的Long:
private long removeTheDot(Number number) {
return Long.valueOf(number.toString().replace(".", ""));
}
嘉-BAM!