在线等:javascript中关于货币值大小比较的问题

bazhu 2004-04-06 01:10:52
譬如本人test.htm中:
<SCRIPT language=javascript>
<!--
function checkvalue()
{
if (document.test.text1.value > document.test.text2.value)
{alert("抱歉,text2的金额比text1的金额小,操作失败!");
document.test.AEditmoney.focus();
return (false);
}
return true;
}
//-->
</SCRIPT>
<FORM name=test onsubmit="return checkvalue()" action="xx.htm" method=post>
...........
文本框略...
...........
<INPUT type=submit value="确定">
</form>

以上测试后发现实际上只比较数值第一个数的大小,而不是整体,譬如text1的值为23.3,text2的值为21.55,判断是没问题,但当text2的值为3、4、5、6、7比23.3第一个数2大时,就出判断23.3比4小的情况。

如何解决?谢谢大家。
...全文
50 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bazhu 2004-04-06
非常感谢fason(阿信)、 baby21st(流浪的脚)
回复
baby21st 2004-04-06
返回由字符串转换得到的浮点数。

parseFloat(numString)
必选项 numString 参数是包含浮点数的字符串。

说明
parseFloat 方法返回与 numString 中保存的数相等的数字表示。如果 numString 的前缀不能解释为浮点数,则返回 NaN (而不是数字)。

parseFloat("abc") // 返回 NaN。
parseFloat("1.2abc") // 返回 1.2。
可以用 isNaN 方法检测 NaN。
回复
fason 2004-04-06
parseFloat(document.test.text1.value)
回复
bazhu 2004-04-06
其中:document.test.AEditmoney.focus();写错了,应为document.test.text1.focus();
总之不是那里出错。

就是text1.value 去比较 text2.value 时,怎么把整个数都进行判断,而不是数的第一个值大小。
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-04-06 01:10
社区公告
暂无公告