web-dev-qa-db-ja.com

2つの文字列をまとめる代わりにJSに強制的に数学を実行させる方法

整数変数に5を追加するにはjavascriptが必要ですが、代わりに変数を文字列として扱い、変数を書き出してから「文字列」の最後に5を追加します。代わりに数学を実行させるにはどうすればよいですか?

var dots = document.getElementById("txt").value; // 5
function increase(){
    dots = dots + 5;
}

出力:55

10を出力させるにはどうすればよいですか?

96
Sean

あなたはラインを持っています

dots = document.getElementById("txt").value;

ファイル内では、txtの内容は数字に制限されないため、ドットは文字列に設定されます。

intに変換するには、行を次のように変更します。

dots = parseInt(document.getElementById("txt").value, 10);

注:ここの10は10進数(10進数)を指定します。これがないと、ブラウザによっては文字列が正しく解釈されない場合があります。 MDN: parseInt を参照してください。

105
Alex

もっとも単純な:

dots = dots*1+5;

ドットは数値に変換されます。

49
mier

忘れないでください-小数を扱う場合はparseFloat();を使用してください。

19
Nicolas

ここに表示されないため、この回答を追加しています。

1つの方法は、値の前に「+」文字を置くことです

例:

var x = +'11.5' + +'3.5'

x === 15

これが最も簡単な方法であることがわかりました

この場合、次の行:

dots = document.getElementById("txt").value;

に変更することができます

dots = +(document.getElementById("txt").value);

強制的に数字にする

注意:

+'' === 0
+[] === 0
+[5] === 5
+['5'] === 5

parseInt()トリックを行う必要があります

var number = "25";
var sum = parseInt(number, 10) + 10;
var pin = number + 10;

あなたにあげる

sum == 35
pin == "2510"

http://www.w3schools.com/jsref/jsref_parseint.asp

注:parseInt(number, 10)10は10進数(10進数)を指定します。これがないと、ブラウザによっては文字列が正しく解釈されない場合があります。 MDN: parseInt を参照してください。

7
Alan L.

これはあなたにも役立ちます:

dots -= -5;
3
Holger.Buick

変数の後ろに+を追加すると、強制的に整数になります

var dots = 5
    function increase(){
        dots = +dots + 5;
    }
1

その本当にシンプルな

var total = (1 * yourFirstVariablehere) + (1 * yourSecondVariablehere)

これにより、javascriptの*記号に混乱がないため、javascriptが強制的に増加します。