我正在尝试获取整数的最高有效十进制数字,我的方法如下:
我正在尝试获取 Integer(N) 中的总位数(计数);
我将 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
现在我有了数字 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);
我知道我的方法有点不同,因为我主要使用日志和其他数学函数,但我真的想以不同的方式来做。
Java 8和流类型中的任何方法都可以提供帮助,我们将不胜感激。
慕村225694
Helenr
跃然一笑
MM们
相关分类