有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

int在java中从点后的数字中提取值

int number = 24.24;

int afterDot = (int) (number*100)%100;
afterDot = 24

这种逻辑是错误的,如果

int number1 = 24.4 

如何从24.4中获取4
无论什么都是数字,但要提取点后的值。 实际上,该公式必须适用于这两种类型的值


共 (1) 个答案

  1. # 1 楼答案

    如果将double转换为字符串,问题会变得更容易:

    double number = 24.4;
    String numberAsString = String.valueOf(number);
    String decimalPart = numberAsString.split("\\.")[1];
    System.out.println(decimalPart);
    int number1 = Integer.valueOf(decimalPart); // NOTE: This conversion is lossy.
    System.out.println(number1);
    

    请注意,通过将decimalPart字符串(例如“001”)转换为整数(1),可能会丢失一些信息

    通过24.4,它输出:

    4
    4
    

    通过24.001,它输出:

    001
    1
    

    通过3d,它输出:

    0
    0