var a1=$("#orderprogress").val().toFixed(2);//a1=50
var a2=$("#poprogress").val().toFixed(2); //a2=70
如果我想创建一个这样的数组,我该怎么做呢?
graphData = new Array(
[a1 value,'#222222'],//[50,'#222222']
[a2 value ,'#7D252B']//[70,'#222222']
);
最佳答案
尝试使用以下代码:
var a1 = +(+$("#orderprogress").val()).toFixed(2);
var a2 = +(+$("#poprogress").val()).toFixed(2);
graphData = [
[a1, '#222222'],//[50,'#222222']
[a2, '#7D252B']//[70,'#222222']
];
演示: http://jsfiddle.net/ERccS/4/
这将获取文本框值(字符串),将其转换为数字,对其调用 toFixed(2)
,然后将其转换回数字。
不幸的是(如果你关心的话),"50"
将显示为 50
(这种情况发生在尾随的 0
上)。如果无论如何您总是需要 2 位小数,请去掉我代码中的第一个 +
- 它们将保留为字符串并始终有 2 位小数。
我不确定您要使用 toFixed
做什么。 .val()
方法总是 返回一个字符串。 toFixed
不是 String
方法 - 它是 Number
方法。其结果是原始的 Number
四舍五入到一定的小数位数(您传递给该方法的)。在您的例子中,它是 2
。
关于javascript - 从隐藏值创建 Javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979368/