小编WEL*_*ode的帖子

使用 Java-8 获取最高有效十进制数字

我正在尝试获取整数的最高有效十进制数字,我的方法如下:

  1. 我正在尝试获取整数(N)中的数字总数(计数);

  2. 我将 Integer(N) 除以 1(....count 乘以 0)。

我已经完成了以下代码,它工作得很好,我只是想使用 java-8 来实现它,如果可能的话。

int N = 456778889;
double expo = Math.log10(N);
int expNum = (int)Math.floor(expo)+1;  //gets the total digits in the Integer N
Run Code Online (Sandbox Code Playgroud)

现在,由于我有了数字 N 中的总位数,因此我可以将 N 除以 1 后跟零的总数,以实现此 1 后跟 X 数量的零,我的逻辑如下:

    StringBuilder sb = new StringBuilder("1");
    sb.setLength(expNum);
    String f = sb.toString().replaceAll("[^0-9]","0"); // It makes the 1 followed by X amount of zero that i require to get my MSB
    int mostSigNum = N/(Integer.valueOf(f));
    System.out.println(mostSigNum);
Run Code Online (Sandbox Code Playgroud)

我知道我的方法有点不同,因为我主要使用日志和其他数学函数,但我真的想以不同的方式做。

java 8流 …

java java-8

2
推荐指数
1
解决办法
2637
查看次数

标签 统计

java ×1

java-8 ×1