我正在写一个非常基本的HTML计算器。最终结果和用户输入显示在下面的“ textDisplay_”区域中:
<div id ="textDisplayRow_">
<div id = "textDisplay_" class = "calcTextDisplay">0.0</div>
</div>
我也有一个JavaScript代码,使用这些函数可以将显示的值获取并解析为浮点数:
function getCurrentText() {
"use strict";
return document.getElementById("textDisplay_").innerHTML;
}
function getDisplayedNum() {
"use strict";
if (getCurrentText() === emptyMesg) {
return maxSafeInt;
}
var t = 1*getCurrentText();
//var t = parseFloat(getCurrentText(), 10);
if ((isNaN(t)) || (t === undefined)) {
return 0;
} else {
return t;
}
}
这段代码在桌面浏览器上可以很好地工作(我已经在Chrome,FireFox和IE上对其进行了测试),它们看起来都很不错,可以说我输入以下内容:
3.14 * 2,然后按“ =”,他们给了我6.28。
但是在我的android 4上,使用最新版本的移动版chrome和firefox,所有小数点后的数字都会四舍五入!因此,如果我输入“ 3.14 * 2 =“,我将得到“ 6”!
如何解决此问题?我查看了其他包含parseFloat的帖子,这些帖子均不起作用,而且都与该问题相似。
同样,两者都给出相似的结果:
1*getCurrentText();
parseFloat(getCurrentText(), 10);
一种选择是编写自己的parseFloat(我之前已经为微控制器完成了此操作!),但我真的不想那样做。
非常感谢。
最佳答案
你可以试试:
var t = 1.0 * getCurrentText();
浮动。
关于javascript - parseFloat在移动设备上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36438586/