Javascript 如何为一个数字输出所需的有效位数

Javascript 如何为一个数字输出所需的有效位数,javascript,json,Javascript,Json,我有下面的JSON,我必须显示在浏览器上 { "testDoubleArr": [1, 2.0, 3.45], "testStr3": "SHA", "testDouble1": 12.56, "testDouble2": 1.0, "testStr1": "OMG" } 在浏览器上,它以以下格式显示 { "testDoubleArr": [1, 2, 3.45], "testStr3": "SHA", "testDouble1": 12.56, "test

我有下面的JSON,我必须显示在浏览器上

{
  "testDoubleArr": [1, 2.0, 3.45],
  "testStr3": "SHA",
  "testDouble1": 12.56,
  "testDouble2": 1.0,
  "testStr1": "OMG"
}
在浏览器上,它以以下格式显示

{
  "testDoubleArr": [1, 2, 3.45],
  "testStr3": "SHA",
  "testDouble1": 12.56,
  "testDouble2": 1,
  "testStr1": "OMG"
}
如果值仅在小数点后包含零,则它已删除所有零,而我必须在不将其转换为字符串的情况下显示它们


如何指定JavaScript数字的有效位数?

您可以指定小数的有效位数

var num = 1;
num.toFixed(2); // returns the string "1.00"
但是,如果数字具有更高的有效数字,则会删除:

var num = 1.123456789;
var num.toFixed(2) // returns the string "1.12"

它们是一样的-javascript中只有一种数字类型。我必须在不将其转换为字符串的情况下显示它们,您希望如何做到这一点?我想用零表示testDouble2:1.0,而不是testDouble2:1。0@PrabhatNigam我认为其他评论中的观点是,你绝对需要转换为字符串以一定的容量显示给用户。目前,您正在javascript中将数值设置为数字类型。当输出这些值时,除非您具体指定要查找的字符串表示形式,否则您将删除不重要的数字。如果您担心在不转换显示或对数字执行任何计算的情况下匹配精确的输入值,则应使用字符串字段作为输入。此外,如果您只是尝试鹦鹉学舌地输出输入字符串,则最好不要在显示此字符串之前解析JSON。如果您从未将字符串解析到内存中,则该字符串将保持完整以供显示。@Chad,此解决方案不适用于所有情况。首先,它将在点后删除剩余的数字。第二件事,它会将整数转换成双倍数。例1将显示为1.00,这是不合理的。所有JavaScript数字都是浮点。只有一种数字类型。你的问题并没有真正解释你所有的要求。我唯一的要求是,如果值是1,那么它应该显示1而不是1,如果值是1.0,那么它应该显示1.0而不是1.0,同时在json的UI上显示它。我希望json应该在UI上打印,因为它工作在,这个工具打印json,因为它不考虑值的类型。对于下面可以在该工具中使用的示例json…{data:{testDoubleArr:[1.3],testDouble2:0.0,InterestRate:0,testInt1:0,testBool3:true,testInt2:0,testBool2:true,testBool1:true,Month:UMG,testStr3:SHA,testStr2:HAMP,testDouble3:0},标题:{modelName:测试租户版本,主版本:1,事务ID:2,minorVersion:0,日期:2015-01-30T11:18:00.000}