Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用不同浏览器解析JavaScript中的浮点数_Javascript_Html - Fatal编程技术网

使用不同浏览器解析JavaScript中的浮点数

使用不同浏览器解析JavaScript中的浮点数,javascript,html,Javascript,Html,我得到了一个带有一些输入控件的网页,例如减法 <table> <tr> <td><b>Value 1</b></td> <td /> <td><b>Value 2</b></td> <td><b>Result</b&g

我得到了一个带有一些输入控件的网页,例如减法

    <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>
现在的问题是IE和Firefox对浮点数的输入不同。 IE:0.36(带圆点) Firefox:0,36(带逗号)

当我使用Firefox并在其中一个输入控件中输入包含点的floatnumber时,不会发生任何事情。 在函数减法中如何处理这个问题


提前谢谢

非常感谢!在给函数赋值时添加“.replace(',','。)”会有所帮助。

非常感谢!在给函数赋值时添加“.replace(',','。)”会有帮助。

如果IE和FF需要不同的格式,它们可能被设置为不同的区域设置。根据和的答案,
parseFloat()
特别需要点,而不需要逗号,无论区域设置如何。但是数字后面的逗号不会导致错误:
parseFloat(“12,34”)
应该返回
12
。非常感谢!为函数提供值时添加“.replace(',','。)”会有所帮助。如果IE和FF需要不同的格式,则它们可能被设置为不同的区域设置。根据和的答案,
parseFloat()
特别需要点,而不需要逗号,无论区域设置如何。但是数字后面的逗号不会导致错误:
parseFloat(“12,34”)
应该返回
12
。非常感谢!在给函数赋值时添加“.replace(',','。)”会有所帮助。
        //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;
        }