Chr*_* K. 19 javascript parsing
我有一个函数,我用来从字符串中删除不需要的字符(定义为货币符号)然后将值作为数字返回.返回值时,我正在进行以下调用:
return parseFloat(x);
我遇到的问题是,当x =="0.00"时,我希望得到0.00(带有两位小数的浮点数).我得到的只是0.
我也尝试过以下方法:
return parseFloat(x).toFixed(2);
并且仍然只是0回来.我错过了什么吗?任何帮助将不胜感激.
谢谢!!
Ted*_*opp 14
parseFloat()将字符串转换为浮点数.这是二进制值,而不是十进制表示,因此小数点右边的零数概念甚至不适用; 这一切都取决于它如何格式化回字符串.关于toFixed,我建议将浮点数转换为数字:
new Number(parseFloat(x)).toFixed(2);
Run Code Online (Sandbox Code Playgroud)
Vic*_*tor 10
这应该工作:
return parseFloat(x).toFixed(2);
Run Code Online (Sandbox Code Playgroud)
你可以通过在firebug中运行它来测试它:
var x = '0.00';
alert(parseFloat(x).toFixed(2));
Run Code Online (Sandbox Code Playgroud)
简单:
function decimalPlaces(float,length) {
ret = "";
str = float.toString();
array = str.split(".");
if(array.length==2) {
ret += array[0] + ".";
for(i=0;i<length;i++) {
if(i>=array[1].length) ret += '0';
else ret+= array[1][i];
}
}
else if(array.length == 1) {
ret += array[0] + ".";
for(i=0;i<length;i++) {
ret += '0'
}
}
return ret;
}
document.write(decimalPlaces(3.123,6));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25254 次 |
| 最近记录: |