Isso é uma coisa muito estranha, que foi testada hoje. Parseint (1,13*100), o valor de retorno real é 112. Basta olhar para o código
A cópia do código é a seguinte:
<head>
<script type = "text/javascript">
function test () {
var thisValue = 0;
thisValue = yuantofen ($ ("#inp"). val ());
alerta (thisValue);
}
/* Yuan para apontar*/
função yuantofen (yuan) {
Retornar parseint (yuan*100,10); // Solução: altere o retorno aqui para: parseint (yuan*1000,10)/10;
}
</script>
</head>
<Body>
<div>
<input type = "text" id = "inp" name = "pl" value = "1.14"/> <!-Este bug aparecerá apenas quando os valores de entrada forem: 1.13, 1.14, 1.15, 1.16, e nenhum erro é encontrado em outros dados->>
<input type = "button" name = "ok" value = "confirm" onclick = "test ();"/>
</div>
</body>
</html>
Ao executar o código acima, você descobrirá que, quando inserir o número de 1,13 a 1,16, por exemplo, 1.13 é inserido, mas o valor do alerta é 1,12. Da mesma forma, se a entrada for 1,16, o alerta produzirá 1.15.
No entanto, isso não acontecerá quando a entrada de 2.13, 3.13 e 0,13.
Esse bug é especialmente importante para os negócios que fazem mais contabilidade.
Por exemplo: se você deseja remeter dinheiro a alguém, a unidade de remessa é (bilhão de yuan), e você remede 113 milhões de yuan, mas no final realmente se tornou 112 milhões de yuan. Ha ha. Apenas uma piada. No entanto, os procedimentos são rigorosos. Não importa se é um centavo ou um centavo, pertence a quem pertence a quem, e você não deve ser descuidado.