javascript超大负指数到十进制转换

时间:2018-01-08 15:15:06

标签: javascript math immutable.js exponential tofixed

我如何在javascript中获得这个负的大指数6.849391775995509e-276到6.84?

我从api中找回负指数数字,我希望在我的ui中使用缩短版本,小数点后2位。如果重要,我可以使用d3图表渲染中的数字进行反应。

我一直在尝试从javascript doc网站获得一些不同的技术,但似乎无法实现。使用像Immutable.js这样的库是一种选择吗?任何帮助将不胜感激。使用指数表示法的代码段中的所有尝试都返回0.00

function financial(x) {
  return Number.parseFloat(x).toFixed(2);
}
console.log(financial(6.849391775995509e-276));
const num = 6.849391775995509e-276
console.log(num.toFixed(2));
const num2 = 6.84939;
console.log(num2.toFixed(2));

console.log(financial('6.849391775995509e-276'));

2 个答案:

答案 0 :(得分:2)

 +num.toString().substr(0,3)

只需将其转换为字符串并取第一个数字。

答案 1 :(得分:1)

与Jonas的答案类似,但是你想将它包装在const num = 6.849391775995509e-276 var newNum = parseFloat(num.toString().substr(0,4)) console.log(newNum)中以获得实际数字而不是字符串。

var
  NewCheckBox1: TNewCheckBox; { a global variable }

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then { or usPostUninstall }
  begin
    if NewCheckBox1.Checked then
    begin
      Log('Deleting folder');
      if DelTree(ExpandConstant('{userappdata}\My Program'), True, True, True) then
      begin
        Log('Deleted folder');
      end
        else
      begin
        MsgBox('Error deleting folder', mbError, MB_OK);
      end;
    end;
  end;
end;