下面的代码中想实现的是,如果送货总金额大于订单总金额时给出提醒。但奇怪的是LabTotalSendPrice取得100,LabTotalPrice取得62,明明送货总金额大于订单总金额,但为什么ts>tp是false呢?<script language="javascript">
function test()
{
var tp,ts;
tp = parseFloat(document.all.LabTotalPrice.innerText).toFixed(2) //取得订单总金额
ts = parseFloat(document.all.LabTotalSendPrice.innerText).toFixed(2); //取得送货总金额
alert("订单总金额:" +tp + " 送货总金额" + ts) if(ts>tp)
{
alert("送货总金额已大于订单总金额!");
}
}
</script>
订单总金额:<span id="LabTotalPrice">62</span>元
送货总金额:<span id="LabTotalSendPrice">100</span>元
<input type="button" id="btn" name="btn" value="测试" onclick="test()">
function test()
{
var tp,ts;
tp = parseFloat(document.all.LabTotalPrice.innerText).toFixed(2) //取得订单总金额
ts = parseFloat(document.all.LabTotalSendPrice.innerText).toFixed(2); //取得送货总金额
alert("订单总金额:" +tp + " 送货总金额" + ts) if(ts>tp)
{
alert("送货总金额已大于订单总金额!");
}
}
</script>
订单总金额:<span id="LabTotalPrice">62</span>元
送货总金额:<span id="LabTotalSendPrice">100</span>元
<input type="button" id="btn" name="btn" value="测试" onclick="test()">
{
var tp,ts;
tp = parseFloat(document.all.LabTotalPrice.innerText) //取得订单总金额
ts = parseFloat(document.all.LabTotalSendPrice.innerText); //取得送货总金额
alert("订单总金额:" +tp.toFixed(2) + " 送货总金额" + ts.toFixed(2)) if(ts > tp)
{
alert("送货总金额已大于订单总金额!");
}
}
一楼已经说了
这样试试就知道:
alert(12 > 3); // true
alert("12" > "3"); // false
返回由字符串转换得到的浮点数。 parseFloat(numString)必选项 numString 参数是包含浮点数的字符串。 说明
parseFloat 方法返回与 numString 中保存的数相等的数字表示。如果 numString 的前缀不能解释为浮点数,则返回 NaN (而不是数字)。
toFixed 方法
返回一个字符串,代表一个以定点表示法表示的数字。numObj.toFixed([fractionDigits])参数
numObj必选项。一个 Number 对象。fractionDigits可选项。小数点后的数字位数。其值必须在 0 – 20 之间,包括 0 和 20。说明
toFixed 方法返回一个以定点表示法表示的数字的字符串形式。该字符串中小数点之前有一位有效数字,而且其后必须包含 fractionDigits 数字。如果没有 fractionDigits 参数,或者该参数为 undefined,toFixed 方法假定该值为 0。
看帖必回贴。今天比昨天强,明天比今天还要强。
这速度,比刘翔还快啊`` 如果都是整数,可以用parseInt