0

単純な加算を実行して値を変数に保存することに問題があります。

基本的に私は次のコードを持っています:

    var accsen;
    var lowsev = parseInt(accsen);
    var hisev = parseInt(accsen) + parseInt(0.65);

    console.log('Lowsev: ' + lowsev);
    console.log('Hisev: '  + hisev + ' Type: ' + typeof(hisev));
    console.log('Accsen: ' + accsen);

変数accsenには、データベースから値が与えられています。Lowsevにはaccsenと同じ値が割り当てられ、hisevにはaccsen+0.65の値が割り当てられます。

ただし、私が抱えている問題は、lowsevとhisevの両方が0のままであるということです。console.logを実行すると、次の値が得られます。

Lowsev:0 Hisev:0タイプ:undefined Accsen:0.75

誰かが私が追加で間違っていることを教えてもらえますか?正しい演算子を使用していますか?

4

2 に答える 2

2

parseFloatの代わりに使用したいようですparseInt

于 2012-12-31T00:38:40.377 に答える
1

「Lowsevにはaccsenと同じ値が割り当てられています」そうではありません。整数に丸めています。

しかし、parseInt()正しく丸められません。0.75は0として出力されるため、機能しています。これらの値を実際に丸めたいと仮定して、

var accsen;
var lowsev = Math.round(accsen);
var hisev = Math.round(accsen) + Math.round(0.65);

応答を与えられた編集

JSはaccsenを文字列として扱っているため、数値に変換する必要があります

var accsen = '0.75'; // as other people have noted this val in your code is missing.
var lowsev = parseFloat(accsen);
var hisev = parseFloat(accsen) + 0.65;
于 2012-12-31T00:35:38.887 に答える