javascript - 正则表达式使用 javascript 将数字转换为巴西货币
问题描述
我需要将100000之类的值转换为巴西货币格式(Real)1.000,00,并且我正在使用 javascript。
那将是这种模式。
0,00
1,00
10,00
100,00
1.000,00
我设法使用这个表达式创建了小数。
if (v.indexOf('.') === -1) {
v = v.replace(/([\d]+)/, '$1,00');
}
现在,当我的值高于 1000,00(即 1.000,00)时,我无法分离。
我正在使用调用该函数并将值写入另一个字段(总计)的 keyup,并且该函数完成将数字转换为“雷亚尔”的所有工作
我做了这个功能
String.prototype.formatMoney = function () {
let v = this;
if (v.indexOf('.') === -1) {
v = v.replace(/([\d]+)/, '$1,00');
}
v = v.replace(/([\d]+)\.([\d]{1})$/, '$1,$20');
v = v.replace(/([\d]+)\.([\d]{2})$/, '$1,$2');
console.log(v);
return v;
};
我的正则表达式知识很薄弱,有人可以帮助我吗?
解决方案
推荐阅读
- graphics - 如何在 Spark AR Studio 中的 faceMesh 上创建简单的模糊效果?
- angular - 使用 Mat-Select 过滤 Observable 数组
- reactjs - 将 Button 组件传递给 Bootstrap Tab 组件的 Title 属性
- python - 熊猫重命名列名
- jaxb - 由于 580 次 IllegalAnnotationExceptions 创建 JAXB Marshaller 时出现 jbpm 错误
- firebase - 将公共之外的根文件夹添加到托管 Firebase
- powerbi - 如何使用 DAX 中的键过滤的时间输入和超时来制作连贯的 IF 语句
- for-loop - 在 systemverilog 中实现 for 循环
- sql - SQL Total Distinct Count on Group By Query
- c - 我正在尝试对字符 z(ASCII 122)执行凯撒移位。如何给它“更多空间”以防止它溢出超过 127?