2010-12-08 7 views
1

JavaScriptまたはjQueryのテキストを数字で区切るにはどうすればいいですか? PHPでこのようなJavaScriptまたはjQueryのテキストの数字を取得する

<?php 
    $a = "2 Apples"; 
    $b = "3 Peach"; 
    echo $a + $b // It will print 5! Thanks for this stupid smartness, 2 apples + 3 peaches should be 2 apples and 3 peaches or maybe a nice jam! 
?> 

今私はjQueryをせずに/ではJavaScriptを使用してこのような何かをしたいです。私はそれがint型にそれを回すかどうかを確認するために(a + b * 1)とも(a*1) + (b*1)を使用した場合でも

var a = "100$"; 
var b = "120$"; 
var ttl = 100 - Math.round(a + b); 

は、それがNaNを返されました!

答えて

4

あなたはそれらを解析する必要があります。 parseInt()は、数字以外の文字の末尾にを追加します。 @Jeremyが言ったように

var a = parseInt("100$", 10); 
var b = parseInt("120$", 10); 

var ttl = 100 - Math.round(a + b); 

alert(ttl); // alerts -120 

、これは大手数字以外の文字では動作しません。例:

function stripToNums(str) { 
    return str.replace(/\D/g, ''); 
} 

そして、あなたの文字列にそれを呼び出す:

alert(parseInt("$100", 10)); // alerts "NaN" 
+2

末尾の文字に対してのみ機能することを強調してください。 "$ 100"はNaNを返します。 –

+0

@Jeremy:あなたは正しいですが、私は「後ろに」と言いました - それを大胆にする必要はありますか? –

+0

私は逆のケースがうまくいかないという答えを読んでいない読者のために明確化していただけですが、答えは完全に正しいです。 –

1

はそうのような関数を定義してみます。それは文字列から任意の非数字文字を取り除くべきです。もちろん、非整数値を扱う場合は、少し面倒なことが必要です。この例ではint型として返された文字列を解析する必要があります、またはスクリプトが意図したのではなく、2つの返された値と文字列連結を行いますhttp://jsfiddle.net/Ender/QEhfR/

注:

は、ここでそのライブデモです数学的な加算。

0

parseInt()を使用してください。整数値を返します。

関連する問題