javascript写入和舍入失败
在HTML文档中,我有一个列为%SUBTOTAL%的变量,如果我只放入%SUBTOTAL%,它将被一个数字替换,在本例中为“551313.46”。 如果我这样写:javascript写入和舍入失败,javascript,html,Javascript,Html,在HTML文档中,我有一个列为%SUBTOTAL%的变量,如果我只放入%SUBTOTAL%,它将被一个数字替换,在本例中为“551313.46”。 如果我这样写: <script type="text/javascript">document.write(%SUBTOTAL%);</script> document.write%(小计%); 替换为“551313.46”我想用这个数字做一些基本的数学运算,但我试着把它乘以2 document.write%(小计%*2)
<script type="text/javascript">document.write(%SUBTOTAL%);</script>
document.write%(小计%);
替换为“551313.46”我想用这个数字做一些基本的数学运算,但我试着把它乘以2
document.write%(小计%*2)代码>
我刚刚得到这个“551626.92”,所以,只有昏迷后的数字是2的倍数,我怎么才能得到整数呢?试着做一些类似文档的事情。写(parseFloat(%SUBTOTAL%)*2)试着做一些类似文档的事情。写(parseFloat(%SUBTOTAL%)*2)试着做一些类似文档的事情。写(parseFloat(%SUBTOTAL%)*2)尝试像document.write这样的操作(parseFloat(%SUBTOTAL%)*2)这在javascript中不是问题,在您使用的任何服务器端语言中都是问题。您需要确保%SUBTOTAL%
的格式为数字,而不是字符串
以下是当前传递给前端代码的内容:551313.46
当你乘以2时,它显示为:551313.46*2
您应该在服务器端代码中使用ParseFloat
函数或类似的函数,最好是使用逗号的函数。由于这是服务器端的一个字符串,您可能只需要使用字符串替换函数a-laSUBTOTAL.replace(',','')
,来删除逗号,但在显示服务器端代码之前,实际上无法有效地回答问题
如果您死心塌地地在客户端执行此操作,不向我们提供服务器端源代码,并迫使我们猜测您的问题;下面是一个非常糟糕的破解方法来解决您看到的问题:
尝试用引号包装%SUBTOTAL%
:document.write(ParseFloat(“%SUBTOTAL%”)这在javascript中不是问题,在您使用的任何服务器端语言中都是问题。您需要确保%SUBTOTAL%
的格式为数字,而不是字符串
以下是当前传递给前端代码的内容:551313.46
当你乘以2时,它显示为:551313.46*2
您应该在服务器端代码中使用ParseFloat
函数或类似的函数,最好是使用逗号的函数。由于这是服务器端的一个字符串,您可能只需要使用字符串替换函数a-laSUBTOTAL.replace(',','')
,来删除逗号,但在显示服务器端代码之前,实际上无法有效地回答问题
如果您死心塌地地在客户端执行此操作,不向我们提供服务器端源代码,并迫使我们猜测您的问题;下面是一个非常糟糕的破解方法来解决您看到的问题:
尝试用引号包装%SUBTOTAL%
:document.write(ParseFloat(“%SUBTOTAL%”)这在javascript中不是问题,在您使用的任何服务器端语言中都是问题。您需要确保%SUBTOTAL%
的格式为数字,而不是字符串
以下是当前传递给前端代码的内容:551313.46
当你乘以2时,它显示为:551313.46*2
您应该在服务器端代码中使用ParseFloat
函数或类似的函数,最好是使用逗号的函数。由于这是服务器端的一个字符串,您可能只需要使用字符串替换函数a-laSUBTOTAL.replace(',','')
,来删除逗号,但在显示服务器端代码之前,实际上无法有效地回答问题
如果您死心塌地地在客户端执行此操作,不向我们提供服务器端源代码,并迫使我们猜测您的问题;下面是一个非常糟糕的破解方法来解决您看到的问题:
尝试用引号包装%SUBTOTAL%
:document.write(ParseFloat(“%SUBTOTAL%”)这在javascript中不是问题,在您使用的任何服务器端语言中都是问题。您需要确保%SUBTOTAL%
的格式为数字,而不是字符串
以下是当前传递给前端代码的内容:551313.46
当你乘以2时,它显示为:551313.46*2
您应该在服务器端代码中使用ParseFloat
函数或类似的函数,最好是使用逗号的函数。由于这是服务器端的一个字符串,您可能只需要使用字符串替换函数a-laSUBTOTAL.replace(',','')
,来删除逗号,但在显示服务器端代码之前,实际上无法有效地回答问题
如果您死心塌地地在客户端执行此操作,不向我们提供服务器端源代码,并迫使我们猜测您的问题;下面是一个非常糟糕的破解方法来解决您看到的问题:
尝试将%SUBTOTAL%
用引号括起来:document.write(ParseFloat(“%SUBTOTAL%”)*2)
这里的问题是数字中的逗号不是千位分隔符,而是一个数字
浏览器看到的是
(expresion 1), (expression 2)
你不能那样把数字吐出来然后让它工作。您需要删除逗号才能执行操作
玩代码看起来像是一些浏览器允许您将多个参数传递到document.write中,它会将它们写出
document.write("A","B","C","D");
结果将写入ABCD,这就是您看到结果的原因
像这样的东西会有用的
document.write(parseFloat("%SUBTOTAL%".replace(/,/g,"")*2));
如果希望再次插入逗号,则需要添加代码来插入它 这里的问题是,数字中的逗号不是千位分隔符,而是一个
浏览器看到的是
(expresion 1), (expression 2)
你不能那样把数字吐出来然后得到它