Javascript-格式化数字,始终显示原始的小数位数

Javascript - Format number to always show the original decimal places

本文关键字:原始 小数 显示 格式化 数字 Javascript-      更新时间:2024-02-11

我需要一个js函数来显示数字中小数的原始计数。例如:

value          display
2.31             2
1.0              1
2.3500           4

问题是我不知道如何计算小数。我有那个代码:值=2.3500;return小数点计数(value);//必须显示4:

有什么帮助吗???感谢:P

这是不可能的。在JavaScript中,或者在任何其他通用编程语言中,数字3.53.50之间没有区别。

如果你的意思是它们是字符串(value = '2.3500'而不是value = 2.3500),那么你可以使用indexOf:

var decimalPlaces = value.length - value.indexOf('.') - 1;

注意:我讨厌这个答案,我并不真正提倡它

不要将它存储为数字,而是将其存储为字符串。这可能会导致快速生成"字符串类型"代码,因此这是不可取的。这是一种变通方法,因为JavaScript使用浮点作为数字类型。

或者将其存储为对象,并通过函数调用解析出格式:

{ value = "1.2345", decimal = 4} 

并使用它来创建正确的数字格式。如果我有这个要求,这可能是我会使用的破解方法。或者,我会让我的服务器返回格式化的字符串,因为你可以很容易地在服务器端完成它。

如果可以将这些数字作为字符串,那肯定是可能的。。其实很简单。

function countDecimals(string){
   var delimiters = [",","."];
   for(var i = 0; i<delimiters.length; i++){
        if(string.indexOf(delimiters[i])==-1) continue;
        else{
        return string.substring(string.indexOf(delimiters[i])+1).length;
    }
 }
}

您可以使用以下函数:

function decimalplaces(number)
{
    numberastring = number.toString(10);
    decimalpoint = numberastring.indexOf(".");
    if(decimalpoint == -1)
    {
       return 0;
    }
    else
    {
        return numberastring.length - decimalpoint - 1;
    }
}