これは非常に奇妙なことで、今日テストされました。 parseint(1.13*100)、実際の返品値は112です。コードを見てください
コードコピーは次のとおりです。
<head>
<script type = "text/javascript">
function test(){
var thisvalue = 0;
thisvalue = yuantofen($( "#inp")。val());
アラート(thisvalue);
}
/*ポイントするyuan*/
関数Yuantofen(Yuan){
return parseint(yuan*100,10); // solution:ここで戻りを変更します:parseint(yuan*1000,10)/10;
}
</script>
</head>
<body>
<div>
<入力型= "text" id = "inp" name = "pl" value = "1.14"/> <! - このバグは、入力値が1.13、1.14、1.15、1.16の場合にのみ表示され、他のデータにはバグが見つかりません - >
<入力型= "button" name = "ok" value = "確認" onclick = "test();"/>
</div>
</body>
</html>
上記のコードを実行すると、たとえば1.13から1.16の数値を入力すると、1.13が入力されますが、アラートの値は1.12であることがわかります。同様に、入力が1.16の場合、アラートは1.15出力されます。
ただし、これは2.13、3.13、および0.13を入力する場合は発生しません。
このバグは、最も会計を実行するビジネスにとって特に重要です。
たとえば、誰かにお金を送金したい場合、送金の単位は(10億元)であり、1億1,300万元を送金しますが、最終的には実際には1億1,200万元になりました。ハハ。冗談です。ただし、手順は厳密です。それがセントであろうとセントであろうと、それは誰に属している人に属し、あなたは不注意であってはなりません。