以特殊方式将float转换为整数

时间:2017-03-07 12:12:14

标签: java oop

我试图通过以下方式将Java中的浮点数转换为整数:

4.55 = 455
12.45 = 1245
11.1234 = 111234

我该怎么办?

5 个答案:

答案 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)

如果您希望能够使用任意大数字和任意多个小数,那么您可以使用BigDecimalBigInteger

    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!