toFixed不是函数(javascript)

toFixed不是函数(javascript),javascript,tofixed,Javascript,Tofixed,如果您查看我的最后一行javascript代码| document.book.grandtotal.value=grandtotal。toFixed(2)| 在尝试运行我的代码之后,它给了我一个错误,说“grandTotal.toFixed不是一个函数” 如果我尝试移除toFixed,它会很好地工作。我不知道怎么了,除了这条线,其他的都能用 函数计算() {quan_1=document.book.quan1.value; quan_2=document.book.quan2.value; q

如果您查看我的最后一行javascript代码| document.book.grandtotal.value=grandtotal。toFixed(2)| 在尝试运行我的代码之后,它给了我一个错误,说“grandTotal.toFixed不是一个函数” 如果我尝试移除toFixed,它会很好地工作。我不知道怎么了,除了这条线,其他的都能用

函数计算()
{quan_1=document.book.quan1.value;
quan_2=document.book.quan2.value;
quan_3=document.book.quan3.value;
quan_4=document.book.quan4.value;
quan_5=document.book.quan5.value;
quan_6=document.book.quan6.value;
quan_7=document.book.quan7.value;
单位_1=document.book.unit1.value;
单位2=document.book.unit2.value;
单位_3=document.book.unit3.value;
单位_4=document.book.unit4.value;
单位_5=document.book.unit5.value;
单位_6=document.book.unit6.value;
单位_7=document.book.unit7.value;
total_1=document.book.total1.value;
total_2=document.book.total2.value;
total_3=document.book.total3.value;
total_4=document.book.total4.value;
total_5=document.book.total5.value;
total_6=document.book.total6.value;
total_7=document.book.total7.value;
总价1=(单位1*1)
document.book.total1.value=totalPrice1.toFixed(2);
总价2=(单位2*2)
document.book.total2.value=totalPrice2.toFixed(2);
总价3=(单位3*3)
document.book.total3.value=总价3.toFixed(2);
总价4=(单位4*4)
document.book.total4.value=totalPrice4.toFixed(2);
总价5=(单位5*5)
document.book.total5.value=总价5.toFixed(2);
总价6=(单位6*6)
document.book.total6.value=总价6.toFixed(2);
总价7=(单位7*7)
document.book.total7.value=总价7.toFixed(2);
小计=(总价1+总价2+总价3+总价4+总价5+总价6+总价7);
document.book.subTotal.value=小计固定(2);
taxValue=document.book.country.value;
calcTax=(小计*taxValue).toFixed(2)
document.book.tax.value=calcTax;
如果(document.book.country.value==“0”)
{警报(“请选择一个县”);}

如果(subTotal)首先要删除函数调用和变量之间的所有空格,我希望这只是一个粘贴格式问题

然后,您必须确保对数值类型值调用
toFixed
,以便可以首先转换为数字,以确保未对字符串使用数字

所以,让它像:
Number(someVariable).toFixed()


if(subTotal)作为注释状态
.toFixed()
数字类型的方法,并且您试图在
字符串
类型上使用它。因此,将数据转换为数字将解决该问题。这可以通过在字符串前面加上
+
来轻松完成。下面是一个示例:

var x=“5”;
var y=“6”;
console.log(x+y);/“56”,因为字符串连接

console.log(+x++y);//11因为在+前面加上前缀会将字符串转换为数字
“5.5”。toFixed(2)
是您要做的事情,但
toFixed
是一个数字函数,而不是字符串函数。您需要删除
.toFixed()之前的所有空格
此外,您在开始时设置的所有变量都将是字符串,您需要将它们转换为使用
toFixed()
。@JDunken在
之前的空间是好的。@ScottMarcus不在我工作的地方:)JavaScript运行时在您工作的地方与ECMAScript标准所说的不同吗?;)它应该是
Number(someVariable).toFixed()