-1

重複の可能性:
JavaScript で文字列を整数に変換するにはどうすればよいですか?

製品のオプションを含む select 要素があります。私が実現したいのは、ユーザーがオプションを選択すると、ページの価格が自動的に調整されることです。これらの値を取得する方法を理解しましたが、それらを組み合わせると、実際にそれらを追加するのではなく、2 つの数値を組み合わせるだけです。

たとえば、50 + 10 があるときに 60 を出力する代わりに、5010 を出力します。

私のコード:

$('.product_options').change(function(){
var base_price = $('#base_price').html();
var add_price = $(this).find("option:selected").data('price');

var new_price = base_price+add_price;

console.log(new_price);

$('.current_price').html(base_price+add_price);

});

操作が実際に行われるように、両方を整数に変換する方法はありますか?

前もって感謝します!

4

5 に答える 5

5

使用するparseInt

$('.product_options').change(function(){
var base_price = parseInt($('#base_price').html(), 10); // 10 as second argument will make sure that base is 10.
var add_price = parseInt($(this).find("option:selected").data('price'), 10);

var new_price = base_price+add_price;

console.log(new_price);

$('.current_price').html(base_price+add_price);
});
于 2012-11-14T21:07:18.250 に答える
1

試す:

var base_price = +$('#base_price').html();
var add_price = +$(this).find("option:selected").data('price');

強力な機能を参照してください: Mozilla の算術演算子リファレンス - 単項否定

于 2012-11-14T21:07:52.940 に答える
0

parseFloat または parseInt を使用する

$('.product_options').change(function(){
  var base_price = $('#base_price').html();
  var add_price = $(this).find("option:selected").data('price');

  var new_price = parseFloat(base_price) + parseFloat(add_price);

  console.log(new_price);

  $('.current_price').html(base_price+add_price);
});
于 2012-11-14T21:09:27.323 に答える
0

はいあります。

intval = parseInt(string)

あなたが探しているものです。

于 2012-11-14T21:10:08.643 に答える
0

DOM から取得した値はすべて文字列になるため、数値演算を行う前に数値型に変換する必要があります。

parseInt( ... )文字列が数字のみで構成されている場合、文字列を整数に変換する組み込みの JavaScript 関数です。

10 進数が必要な場合は、 を使用できますparseFlaot

var new_price = parseInt(base_price)+parseInt(add_price);
// new_price is now set to the sum of `base_price` and `add_price`
于 2012-11-14T21:08:40.457 に答える