javascript - 如何将 HTML 中显示的数字格式化为货币格式,包括 $ 符号和小数位?
问题描述
我有一个页面,其中包含几个带有数字的 HTML 文本字符串,假设一个是 123.20。所有这些都包含在具有“金钱”类的 div 中的第三层。我想使用 JS 将它们全部更改为 $123 .20格式(每个数字都不同)。
除了下面显示的第一个 div 之外,我不能将“金钱”类包含到任何其他 div 中。我无法将其格式化到后端(即使我愿意)。
我不知道从哪里开始。
这是当前 HTML 的一个示例。
<div class="elementor-element elementor-element-11138f85 elementor-widget__width-auto money elementor-widget elementor-widget-text-editor" data-id="11138f85" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<div class="elementor-text-editor elementor-clearfix">123.20</div>
</div>
</div>
这是我需要显示的内容:
<div class="elementor-element elementor-element-11138f85 elementor-widget__width-auto money elementor-widget elementor-widget-text-editor" data-id="11138f85" data-element_type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<div class="elementor-text-editor elementor-clearfix">$123<sup>.20</sup></div>
</div>
</div>
解决方案
这是一个使用示例split()
// find all the elements with your `money` class
var elements = document.getElementsByClassName('money')
// loop through all the `money` elements
for (var i = 0; i < elements.length; i++) {
// split the money value into two parts (before the decimal and after)
var amounts = elements[i].innerHTML.split('.')
// update the content to your formatted version
elements[i].innerHTML = amounts[0] + '<sup>.' + amounts[1] + '</sup>'
}
推荐阅读
- reactjs - 我想使用扩展运算符将数据添加到我的数组
- go - 我可以根据条件将项目添加到创建语句中的切片吗?
- javascript - JSON 路径中的变量 - JavaScript
- java - Log4j 根据环境动态启用
- php - 防止多个用户同时写入文件
- sql - 查询中的变量
- excel - 尝试通过组合 VLOOKUP IFERROR 和 IFBLANK 返回空白单元格或数据
- concurrency - 使用应用程序配额聚合根不变实施
- java - 如何在没有循环的列表中查找对象的所有索引?
- android - 我收到错误尝试在空对象引用上调用虚拟方法'java.lang.Class java.lang.Object.getClass()'