Java 以特殊方式将浮点转换为整数
我试图通过以下方式将Java中的浮点数转换为整数:Java 以特殊方式将浮点转换为整数,java,oop,Java,Oop,我试图通过以下方式将Java中的浮点数转换为整数: 4.55 = 455 12.45 = 1245 11.1234 = 111234 我怎么做 下面是一个例子 double f1 = 4.5; String str = new Double(f1).toString(); str = str.replace(".", ""); Integer i = Integer.parseInt(str); System.out.println(i); 一种选择是这
4.55 = 455
12.45 = 1245
11.1234 = 111234
我怎么做 下面是一个例子
double f1 = 4.5;
String str = new Double(f1).toString();
str = str.replace(".", "");
Integer i = Integer.parseInt(str);
System.out.println(i);
一种选择是这样的:
float number = 4.55f;
int desiredNumber = Integer.parseInt(String.valueOf(number).replaceAll("\\.", ""));
但只有在转换模式保持不变的情况下,这样的方法才会起作用。我指的是从浮点到整数的转换方式。希望这能有所帮助。如果你想能够处理任意大的数字和任意多的小数,那么你可以使用
BigDecimal
和biginger
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);
诸如此类:
public int convert( float numbre) {
String nmbre = String.valueOf(numbre).replace(".", "");
return Integer.parseInt(nmbre );
}
您可以将数字转换为字符串、删除点并创建新的长字符串:
private long removeTheDot(Number number) {
return Long.valueOf(number.toString().replace(".", ""));
}
卡巴 转换为字符串,删除点,转换为整数。注意整数可能溢出。乘以100。乘以10000。请注意,如果结果不在
int
范围内(最多超过2000万),您将得到NumberFormatException
。