相关疑难解决方法(0)

Javascript:如何检索***号的小数位数?

我有小数一组串数字,例如:23.456,9.450,123.01...我需要找回小数每个号码的数量,因为他们知道至少有1位小数.

换句话说,该retr_dec()方法应返回以下内容:

retr_dec("23.456") -> 3
retr_dec("9.450")  -> 3
retr_dec("123.01") -> 2
Run Code Online (Sandbox Code Playgroud)

在这种情况下,尾随零计数为小数,与此相关问题不同.

在Javascript中是否有一个简单/交付的方法来实现这一点,或者我应该计算小数点位置并计算字符串长度的差异?谢谢

javascript string numbers decimal

56
推荐指数
4
解决办法
6万
查看次数

JavaScript中有一种可靠的方法来获取任意数字的小数位数吗?

重要的是要注意我不是在寻找舍入函数.我正在寻找一个函数,它返回任意数字的简化十进制表示中的小数位数.也就是说,我们有以下内容:

decimalPlaces(5555.0);     //=> 0
decimalPlaces(5555);       //=> 0
decimalPlaces(555.5);      //=> 1
decimalPlaces(555.50);     //=> 1
decimalPlaces(0.0000005);  //=> 7
decimalPlaces(5e-7);       //=> 7
decimalPlaces(0.00000055); //=> 8
decimalPlaces(5.5e-7);     //=> 8
Run Code Online (Sandbox Code Playgroud)

我的第一直觉是使用字符串表示:拆分'.',然后打开'e-',并进行数学计算,如此(示例是详细的):

function decimalPlaces(number) {
  var parts = number.toString().split('.', 2),
    integerPart = parts[0],
    decimalPart = parts[1],
    exponentPart;

  if (integerPart.charAt(0) === '-') {
    integerPart = integerPart.substring(1);
  }

  if (decimalPart !== undefined) {
    parts = decimalPart.split('e-', 2);
    decimalPart = parts[0];
  }
  else {
    parts = integerPart.split('e-', 2);
    integerPart = parts[0];
  }
  exponentPart = parts[1]; …
Run Code Online (Sandbox Code Playgroud)

javascript floating-point precision decimal fractions

30
推荐指数
4
解决办法
2万
查看次数

为什么 Node.js 自动舍入我的浮点数?

我正在尝试编写一个函数,使用此处的答案作为参考,获取浮点文字中小数点后的小数位数。

尽管在浏览器控制台中尝试时这似乎工作正常,但在 Node.js 环境中运行测试用例时,精度最多仅被截断 14 位。

let data = 123.834756380650877834678
console.log(data) // 123.83475638065088
Run Code Online (Sandbox Code Playgroud)

该函数返回 14 作为答案。

为什么在休息时进行舍入?这是默认行为吗?

javascript floating-point precision node.js

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