我正在写一个非常基本的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();
浮动。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句