关于js中数字相加变成字符串了

zxy0759 2014-03-04 01:51:23
var h1=document.getElementById('h1').value;
var m1=document.getElementById('m1').value;
var s1=document.getElementById('s1').value;

var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();

var timesun1=(h*60*60)+(m*60)+(s); //系统时间的总秒数
var timesun2=(h1*60*60)+(m1*60)+(s1); //输入时间的总秒


timesun1的结果正常,timesun2最后一个s1就变成字符串加起来了。这是什么情况?
...全文
8861 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
MR_ZHUJY 2015-05-28
  • 打赏
  • 举报
回复
学习了,刚遇到这个问题
夕阳下的高山 2014-03-05
  • 打赏
  • 举报
回复
你可以这样解决... var timesun2=(h1*60*60)+(m1*60)+(s1*1);
java_liyi 2014-03-04
  • 打赏
  • 举报
回复
你可以这样解决... var timesun2=(h1*60*60)+(m1*60)+(s1*1);
  • 打赏
  • 举报
回复
parseInt('123')可以转换成123
C-J 2014-03-04
  • 打赏
  • 举报
回复
转换问题了,你的s1是字符的吧
ZHOU西口 2014-03-04
  • 打赏
  • 举报
回复
每个值用parseInt()转化为数值型。
Legend-Hu 2014-03-04
  • 打赏
  • 举报
回复
学习了,哈哈!
异常异长 2014-03-04
  • 打赏
  • 举报
回复
强制number转换
suciver 2014-03-04
  • 打赏
  • 举报
回复
var timesun2=(h1*60*60)+(m1*60)+parseFloat(s1);
tony4geek 2014-03-04
  • 打赏
  • 举报
回复
Number 转化
招财驴 2014-03-04
  • 打赏
  • 举报
回复
可能跟弱类型有关,涉及到变量的加减法建议先用 number()或者parsefloat()方法转换
姜小白- 2014-03-04
  • 打赏
  • 举报
回复
var s1=document.getElementById('s1').value; s1 返回值是什么?如果浏览器不能准确的判断出它是数字的话,那就按一楼的方法,用Number转一下
我要学习啦 2014-03-04
  • 打赏
  • 举报
回复
var timesun2=Number(h1*60*60)+Number(m1*60)+Number(s1)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧