如何解决限制html中的十进制数字以及放置脚本的位置
因此,我有一个程序可以打印html报告,其中包含程序中的一些数字。 输出数字包括6个小数,但我想将其限制为2个小数。 我已经阅读了很多有关编码的文章,但是由于缺乏对这种编码类型的基本了解,我需要帮助来编写代码。
程序中的代码如下:
<HTML>
<P align="center">
<img src="image.png">
</P>
<FONT face="Tahoma" size=4 color="Blue">
<P align="center">Rapport</P>
</FONT>
<FONT face="Arial" size=2 color="Black">
<P align="center"><strong>{Date} {Time}</strong></P>
<TABLE border="1" align="center">
<TR>
<TH bgcolor="lightYellow">Vatn 1</TH>
<TH bgcolor="lightYellow">Vatn 2</TH>
<TH bgcolor="lightYellow">Salt</TH>
</TR>
<TR>
<TD bgcolor="#C6DEFF">{vatn1}</TH>
<TD bgcolor="#C6DEFF">{vatn2}</TH>
<TD bgcolor="#C6DEFF">{salt}</TH>
</TR>
</TABLE>
<button onclick="myFunction()">Prenta síðuna</button>
<script>
function myFunction() {
window.print();
}
</script>
<input type="button" align="center" value="Lukka síðu" onclick="self.close()">
</FONT>
</HTML>
打印后,准备在浏览器中打开:
<HTML>
<P align="center">
<img src="image.png">
</P>
<FONT face="Tahoma" size=4 color="Blue">
<P align="center">Rapport</P>
</FONT>
<FONT face="Arial" size=2 color="Black">
<P align="center"><strong>{Date} {Time}</strong></P>
<TABLE border="1" align="center">
<TR>
<TH bgcolor="lightYellow">Vatn 1</TH>
<TH bgcolor="lightYellow">Vatn 2</TH>
<TH bgcolor="lightYellow">Salt</TH>
</TR>
<TR>
<TD bgcolor="#C6DEFF">{1.000000}</TH>
<TD bgcolor="#C6DEFF">{2.000000}</TH>
<TD bgcolor="#C6DEFF">{3.000000}</TH>
</TR>
</TABLE>
<button onclick="myFunction()">Prenta síðuna</button>
<script>
function myFunction() {
window.print();
}
</script>
<input type="button" align="center" value="Lukka síðu" onclick="self.close()">
</FONT>
</HTML>
据我所知,我需要一个脚本来处理数字,它应该是什么样子?我应该在文件中的什么位置放置它?另外,无论编辑后的号码以什么标签结尾,如何将其插入表格中?
预先感谢?
解决方法
请问您能否提供有关该程序的更多信息?
在基本级别上,(取决于您的程序)脚本可以放在<script></script>
标签之间的网页上。
现在,通过查看<td>{number}</td>
,我认为它是某种template。
如果可以,请尝试<td>{nuumber.toFixed(2)}</td>
如前所述,在财务数据上使用toFixed(2)
可能会错误地舍入数字。
超出了这些问题的范围,但this article explains why.(略有提前,但其他人都想知道为什么会联系上!)
我会建议一种更好的方法,但又不知道您使用的是什么,以及不宜采用的环境。
,我不确定信息如何在HTML中绑定,因此您可以在数据加载后进行更改。
您可以更改此块:
<script>
function myFunction() {
window.print();
}
</script>
对此;这不是一个好方法,但可以作为一个技巧:
/*Important to know (1)*/
<script src="jquery-3.5.1.min.js"></script>
<script>
function myFunction() {
window.print();
}
setTimeout(() => {
$("td").each((i,e) => {
e = $(e);
let data = e.html().replace("}","").replace("{","");
e.html(parseFloat(data).toFixed(2));
});
},1000);
</script>
(1)下载JQuery并将HTML链接到它。
如果您不想使用JQuery,也可以使用纯JavaScript,如下所示:
<script>
function myFunction() {
window.print();
}
setTimeout(() => {
let tags = document.getElementsByTagName("td");
for (let i = 0; i < tags.length; i++) {
let html = tags[i].innerHTML;
html = html.split("{").join("").split("}").join("")
tags[i].innerHTML = parseFloat(html).toFixed(2);
}
},1000);
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。