我有一个带有一些输入控件的网页,p.e.进行减法。
<table>
<tr>
<td><b>Value 1</b></td>
<td />
<td><b>Value 2</b></td>
<td><b>Result</b></td>
</tr>
<tr>
<td>
<%-- step="0.01" because of Firefox-browser --%>
<input type="number" id="value11" oninput="SubtractionWithParameters(document.getElementById('value11').value, document.getElementById('value21').value, 'result', 2)" step="0.01" />
</td>
<td> - </td>
<td>
<input type="number" id="value21" oninput="SubtractionWithParameters(document.getElementById('value11').value, document.getElementById('value21').value, 'result', 2)" step="0.01" />
</td>
<td>
<input type="number" id="result" step="0.01" />
</td>
</tr>
</table>
对于减法,我定义了 JavaScript 函数 SubtractionWithParameters,它调用函数 Subtraction。 在输入控件“value11”和“value21”中输入数字、点和/或逗号时,将调用 SubtractionWithParameters 函数并立即计算结果。
//Subtracts the given parameters and displays the result in the input-Control with the given controlname.
function SubtractionWithParameters(value1, value2, resultControlName, decimalNumber) {
decimalNumber = typeof decimalNumber == 'undefined' ? 0 : decimalNumber;
document.getElementById(resultControlName).value = Subtraction(value1, value2).toFixed(decimalNumber);
}
//Subtracts the given parameters and returns the result.
function Subtraction(value1, value2) {
if (isNaN(value1) || value1 == "") { value1 = 0; }
if (isNaN(value2) || value2 == "") { value2 = 0; }
var result = parseFloat(value1) - parseFloat(value2);
return result;
}
现在的问题是 IE 和 Firefox 期望 float 的输入不同。 IE:0.36(带点) Firefox:0,36(带逗号)
当我使用 Firefox 并在我的输入控件之一中输入包含点的 float 字时,没有任何反应。 我该如何在减法函数中处理这个问题?
提前致谢!
最佳答案
非常感谢!为函数提供值时添加“.replace(',','.')”会有所帮助。
关于javascript - 使用不同浏览器解析 JavaScript 中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38957829/