1

userInputparseFloat を取得して( prompt) を数値に変換しようとしています。

例えば:

var userInput = prompt("A number","5,000") 
function parse_float(number) {
    return parseFloat(number)
}

のときuserInput = 5,000、 をparse_Float(userInput)返します5

ただし、ユーザーが他の何かを変更するために値を入力した場合 (つまり、銀行の預金または引き出しを行う場合)、適切に機能するには、 ではなくparse.Float(userInput)を返す必要があります。誰かがこれを行う方法を教えてくれれば、とても助かります。前もって感謝します。50005

4

3 に答える 3

5

あなたの答えは近いですが、まったく正しくありません。

replace元の文字列を変更しません。それは新しいものを作成します。したがって、新しい文字列を保持する変数を作成し、それを呼び出す必要がありますparseFloat

固定コードは次のとおりです。

function parseFloatIgnoreCommas(number) {
    var numberNoCommas = number.replace(/,/g, '');
    return parseFloat(numberNoCommas);
}

また、関数の名前を に変更parseFloatIgnoreCommasしました。

于 2014-11-30T04:29:31.140 に答える
2

これは、フォームからユーザーが入力した数値をスクラブするために使用する関数です。ユーザーが $ のような数字を入力したり、誤ってキーを押したりする可能性があるものはすべて処理します。

オブジェクトから次のものをコピーしました。

cleanInput : function(userValue){
    //clean the user input and scrub out non numerals
    var cleanValue = parseFloat(userValue.replace(/[^0-9\.]+/g,""));    
    return cleanValue;
},

非オブジェクトにするには、最初の行を次のように変更しますcleanInput(){....

于 2015-07-23T17:46:34.090 に答える
0

コメントからの情報をまとめて、基本的な回答を作成しました。

答えは単純に parse_float を run に設定することのようです:

number.replace(/,/g, "")
return parseFloat(number)

完全なコードは次のようになります。

var userInput = prompt("A number","523,000,321,312,321") 
function parse_float(number) {
    number.replace(/,/g, "")
return parseFloat(number)
}

戻り値:523000321312321

于 2014-11-30T04:20:51.643 に答える