为了账号安全,请及时绑定邮箱和手机立即绑定

parseFloat不适用于移动设备

parseFloat不适用于移动设备

烙印99 2019-04-17 17:15:46
我正在写一个非常基本的HTML计算器。最终结果和用户输入显示在下面的“textDisplay_”区域中:<div id ="textDisplayRow_">     <div id = "textDisplay_" class = "calcTextDisplay">0.0</div></div>我还有一个JavaScript代码,使用这些函数获取并将显示的值解析为float: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(我以前为微控制器做过这个!)但我真的不想那样做。非常感谢提前。
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

你可以试试:

var t = 1.0 * getCurrentText();

获得一个浮动。


查看完整回答
反对 回复 2019-05-08
  • 2 回答
  • 0 关注
  • 542 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号