在Javascript中查找指数数字的后六位数字?

时间:2018-01-08 14:41:43

标签: javascript numbers

我有一个号码,让我说我有三个号码

const num1 = 21; // output: 21
const num2 = 12345678; // output: 345678
const num3 = 1.359801885649216e+34; // output: ?? (probably 000000)

应该指出我并不真正知道e+做什么

我需要找到这些数字中的任何一个的最后六位数(或可用数量)。

我怎样才能在Javascript中找到这些数字的最后六位数?

2 个答案:

答案 0 :(得分:2)

您可以休息1e6,但只能得到最接近浮点数的值,因为 Alnitak 在评论中指出。

对于最后一种情况,号码

13598018856492160349090412205441024

,最后6位是

                             441024



console.log([21, 12345678, 1.359801885649216e+34].map(v => v % 1e6));




答案 1 :(得分:0)

  

我需要找到任何一个的最后六位数(或可用数量)   这些数字。

我假设你的意思是 - 小数点前的最后6位

以最高精确度100

使用toPrecision
num = 1.359801885649216e+34;
var fnLastNDigits = ( num, N ) => num.toPrecision( 100 ).split( "." )[ 0 ].slice( -N );

console.log( fnLastNDigits( num )  );

<强>解释

  • num.toPrecision( 100 )返回给定精度的字符串值
  • split( "." )[0]将值拆分为.并返回数组的第一个值
  • slice(-N)获取最后N位数