MongoDB Node Web 应用程序中的数据显示不存在的小数
MongoDB Data in Node Web App Displaying Nonexistent Decimals
正在使用包含玩家统计信息的 MongoDB 后端开发 Node 网络应用程序。在此特定实例中,我将玩家统计数据保存为小数,然后通过将该值乘以 100 将其转换为网页上的百分比。
这是我在页面上呈现的 HTML / EJS 模板代码,用于一个赛季 3 分百分比的球员:
<td><%= season.tp * 100 %></td>
传入该值并将其乘以一个百分比,该百分比应该是(例如)39.8,大多数统计数据都是这种情况;但是,特别是对于一个数据点,它是 39.80000000004。这引出了两个问题:
- 什么会导致数字格式带有这些过多(且不存在)的小数位?这与 MongoDB 存储数字数据的方式有关吗?
- 如何才能不显示这些小数位?
我看到其他问题,其中建议的解决方案是 JavaScript 格式化小数位的方法,但将数据类型更改为字符串。由于目标是使用此数据执行其他聚合,因此我想保留数字类型。
在此先感谢您的帮助。
在上面评论中@YuryTarabanko 的帮助下,我现在想出了一个适合我需要的解决方案:
<td><%= (season.tp * 100).toFixed(1) %></td>
此 toFixed() 方法可确保从数据库传递到应用程序的所有数字都四舍五入到一位小数。应该注意的是,这些值现在是字符串,而不是数字。希望这对以后的人有帮助。
正在使用包含玩家统计信息的 MongoDB 后端开发 Node 网络应用程序。在此特定实例中,我将玩家统计数据保存为小数,然后通过将该值乘以 100 将其转换为网页上的百分比。
这是我在页面上呈现的 HTML / EJS 模板代码,用于一个赛季 3 分百分比的球员:
<td><%= season.tp * 100 %></td>
传入该值并将其乘以一个百分比,该百分比应该是(例如)39.8,大多数统计数据都是这种情况;但是,特别是对于一个数据点,它是 39.80000000004。这引出了两个问题:
- 什么会导致数字格式带有这些过多(且不存在)的小数位?这与 MongoDB 存储数字数据的方式有关吗?
- 如何才能不显示这些小数位?
我看到其他问题,其中建议的解决方案是 JavaScript 格式化小数位的方法,但将数据类型更改为字符串。由于目标是使用此数据执行其他聚合,因此我想保留数字类型。
在此先感谢您的帮助。
在上面评论中@YuryTarabanko 的帮助下,我现在想出了一个适合我需要的解决方案:
<td><%= (season.tp * 100).toFixed(1) %></td>
此 toFixed() 方法可确保从数据库传递到应用程序的所有数字都四舍五入到一位小数。应该注意的是,这些值现在是字符串,而不是数字。希望这对以后的人有帮助。