建议通过javascript,jquery从数字(任何字符串)中删除或截断前导零的解决方案。
'00000.5'
)处理数字?
建议通过javascript,jquery从数字(任何字符串)中删除或截断前导零的解决方案。
'00000.5'
)处理数字?
Answers:
您可以使用在字符串开头匹配零的正则表达式:
s = s.replace(/^0+/, '');
也许有点晚了,但我想加2美分。
如果您的字符串始终表示一个数字,可能带有前导零,则可以使用“ +”运算符将字符串简单地转换为数字。
例如
x= "00005";
alert(typeof x); //"string"
alert(x);// "00005"
x = +x ; //or x= +"00005"; //do NOT confuse with x+=x, which will only concatenate the value
alert(typeof x); //number , voila!
alert(x); // 5 (as number)
如果您的字符串不代表数字,而您只需要使用其他解决方案来消除0,但是如果您只需要将它们作为数字,则这是最短的方法。
和仅供参考,您可以执行相反的操作,如果将空字符串连接到字符串上,则可以强制数字充当字符串,例如:
x = 5;
alert(typeof x); //number
x = x+"";
alert(typeof x); //string
希望对别人有帮助
我得到了这种解决方案,用于在javascript中截断前导零(数字或任何字符串):
<script language="JavaScript" type="text/javascript">
<!--
function trimNumber(s) {
while (s.substr(0,1) == '0' && s.length>1) { s = s.substr(1,9999); }
return s;
}
var s1 = '00123';
var s2 = '000assa';
var s3 = 'assa34300';
var s4 = 'ssa';
var s5 = '121212000';
alert(s1 + '=' + trimNumber(s1));
alert(s2 + '=' + trimNumber(s2));
alert(s3 + '=' + trimNumber(s3));
alert(s4 + '=' + trimNumber(s4));
alert(s5 + '=' + trimNumber(s5));
// end hiding contents -->
</script>
false
。不需要将9999
用作第二个参数substr
。只需使用while (s.substr(0,1) == '0') s = s.substr(1);
。此外,该代码段看起来真的很老,该标签的language
属性script
已被弃用了很长时间,并且script
仅对于完全不了解该script
标签的浏览器(例如Internet Explorer 1.0),才需要在标签内使用注释。
parseInt(value) or parseFloat(value)
这将很好地工作。
试试这个,
function ltrim(str, chars) {
chars = chars || "\\s";
return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
var str =ltrim("01545878","0");
这里更多
只需按以下方式乘以1:
“ 00123” * 1; //以数字
“ 00123” * 1 +“”的形式获取;//作为字符串获取
您应该使用“ parseInt”函数的“ radix”参数:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt? redirectlocale = en-US & redirectslug = JavaScript%2FReference %2FGlobal_Objects%2FparseInt
parseInt('015',10)=> 15
如果您不使用它,则某些javascript引擎可能会将其用作八进制parseInt('015')=> 0