0

私はこの計算フォームが私のクライアントにとって非常にうまく機能しているので、誰かが行ってパーセンテージボックス0.93に入れましたが、間違った金額で表示されました。

ウェブサイト内:10 x 10 x 15 x 0.93 = 13.95

10 x 10 x 15 x 0.93 =1.395である必要があります

正しい場所でピリオドを取得するためにJavaScriptで何を変更すればよいかわかりません

これがスクリプトです。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title></title>
<script type="text/javascript">
function calculate() {
    var fields = [], i = 1, el, val, whole, total;
    for (i; i < 5; ++i) {
        el = document.getElementById('el' + i); val = el.value;
        if((whole = i < 3) && /\./.test(val) || isNaN(Number(val))) {
            alert("Please enter only " + (whole? 'whole ' : '') +    "numbers\nfor " + (el.value = el.defaultValue));
            el.focus();
            el.select();
            return;
        }
        fields.push(val);
    }
    total = (fields[0] * fields[1] * fields[2])*fields[3]/100;
    document.getElementById('calculate').innerHTML = "Total: " + total;
}
</script></head>

<body>
<form action="#" onSubmit="calculate(); return false;">
    <label>Days: <input type="text" id="el1" value="10"></label>
    <label>Taxis: <input type="text" id="el2"  value="10"></label>
    <label>Perdiem: <input type="text" id="el3" value="15"></label>
    <label>Discount: <input type="text" id="el4" value="93"></label>
    <div id="calculate">Total:</div>
    <br />
    <br />
    <input type="submit" value="Calculate">
</form>
</body>

</html>

私はこれでどんな助けにも感謝します。

ありがとう

4

2 に答える 2

1

使用してみましたか:

total = (fields[0] * fields[1] * fields[2])*fields[3]/1000

それ以外の:

total = (fields[0] * fields[1] * fields[2])*fields[3]/100

于 2012-05-08T11:03:08.587 に答える
1

これを試して:

function getFormattedNumber(number, decimals) {
    return number.toFixed(decimals);
}

指定した小数点以下の桁数に固定された数値の文字列を返します。

これはそれがすることです:

For 2dp: getFormattedNumber(number, 2):
number:              return:
13.435345345         13.44
10.3435345           10.34

For 3dp: getFormattedNumber(number, 3):
number:
9.556622             9.557

したがって、適切な数値で作業し、それを使用して小数点以下の桁数を修正できます。

于 2012-05-08T11:03:32.547 に答える