0

ばかげた質問で申し訳ありませんが、私は JS 初心者です。

これを次のコードで作成しましたが、四捨五入できません (小数点以下 2 桁)。

助けてください!

<html>  
<head>  
<title>Simple Calc</title>  
<script language="javascript" type="text/javascript">  
function combineder(){  
a=Number(document.calculator.number1.value);  
b=Number(document.calculator.number2.value);
c=(a/452)/(b/100)
document.calculator.total.value=c;  
}  
</script>  
</head>  
<body>  
<form name="calculator">  
A: <input type="text" size="2"name="number1">   
<BR>  
B: <input type="text" name="number2">   
<BR>
<input type="button" value="Calculate!" onclick="javascript:combineder();">  
<br>
Your results is: $<input type="text" name="total">   

</form>  

</body>  
</html>
4

4 に答える 4

1

まず、属性で使用javascript:etc...しないでください。JavaScriptをURLとして実行する属性onclickと混同されていると思います。href代わりに、単に持っている必要がありますonclick="combineder();"

次に、varローカル スコープで変数を宣言するために使用する必要があります。これにより、グローバル名前空間の他の変数と衝突しなくなります。次のように変数を宣言します。var c = 123;

あなたの質問では、これを実行して2 dpに丸めることができます-これにより、末尾の0が残りません

// ...
var c=(a/452)/(b/100)
c = Math.round(c*100)/100
// ...

または、これは常に末尾の 0 を残し、数値の文字列表現として返されます

// ...
var c=(a/452)/(b/100)
c = c.toFixed(2)
// ...

関連する回答: https://stackoverflow.com/a/7343013/665261

于 2012-10-11T12:37:58.107 に答える
0

を使用してみてください.toFixed()。これが例です

var myNum = 10.45621;
var newNum = myNum.toFixed(2);

四捨五入したい小数点以下の桁数を.toFixed()メソッドに渡すだけです。メソッドの詳細については、こちらを確認してくださいtoFixed()

于 2012-10-11T12:37:08.963 に答える
0

JavaScript にはnumber.toFixed( [数字] )があります

あなたは2つの場所が欲しいので、それは

document.calculator.total.value=c.toFixed(2); 
于 2012-10-11T12:37:31.180 に答える
0

使うだけ

.toFixed(2);

小数点以下2桁にカットする

またはあなたが使用することができます

Math.round();

丸めます。

于 2012-10-11T12:39:08.970 に答える