javascript、jqueryによって数値(任意の文字列)から先行ゼロを削除または切り捨てるための解決策を提案します。
'00000.5'
か(例)?
javascript、jqueryによって数値(任意の文字列)から先行ゼロを削除または切り捨てるための解決策を提案します。
'00000.5'
か(例)?
回答:
文字列の先頭でゼロに一致する正規表現を使用できます。
s = s.replace(/^0+/, '');
Number()関数を使用します:
var str = "00001";
str = Number(str).toString();
>> "1"
または、文字列に1を掛けます
var str = "00000000002346301625363";
str = (str * 1).toString();
>> "2346301625363"
少し遅れるかもしれませんが、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
2番目のパラメータとしてを使用するsubstr
必要はありません。を使用するだけwhile (s.substr(0,1) == '0') s = s.substr(1);
です。さらに、そのコードスニペットは非常に古く見えlanguage
、script
タグの属性は長い間非推奨になっていscript
ます。タグ内でコメントを使用する必要があるのはscript
、Internet Explorer1.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エンジンは8進数のparseInt( '015')=> 0として使用する可能性があります。