如何在JavaScript中获取字符串的货币

背围2

我需要帮助来处理以下情况:我需要在页面中汇总一些值,但是这些值的字段是动态创建的(这些字段的ID也是动态创建的)。

值可以以不同的格式显示(取决于货币或小数位),即:R $ 20.000,2(小数点后一位)或US $ 20.000,18(小数点后两位)或€20,000.180(小数点后3位和英制) 。

到目前为止,我做了什么:

由于字段是动态创建的,因此我在该字段的样式中添加了一个CSS类(它们是通过for每个循环生成的),然后使用我创建的javascript原型类将字符串转换为float(如果我通过R $ 20.000,02或R $ 20,000.02,则返回20000.02)。以下代码在需要汇总的页面中生成的所有字段中进行迭代。

<script>
    var sum = 0;
    jQuery(".countTotalEffectiveMonth").each(function(){
        sum += localeUtils.s2f(jQuery(this).text().replace("R$",""));
        jQuery("#ScenarioCurrentYearSavings").text(sum);

        })
    alert(sum);

</script>

问题:

1:我对货币(“ R $”,“”)进行了硬编码(将其从字符串中删除并进行计算)。关于我该怎么做的任何想法?我尝试使用正则表达式,但失败了:(。我只能使用此正则表达式(/ [^ 0-9-] / g)删除货币,但我不知道如何存储它以便将其连接起来在总和的末尾。

更新:

通过遵循Paul S.的方法,我做到了:

var val;
var re = /^([a-z]+)([^\d])([\d.,]+)$/i;
var m;
jQuery(".countTotalEffectiveMonth").each(function(){
    m = jQuery(this).text();
    val = re.exec(m);
    val += val[3].replace(/,/g, '');
    alert(val[1]+val[3]);
    jQuery("#ScenarioCurrentYearSavings").text(val[1]+val[3]);

});

它说val为空,但是我在执行之前val = re.exec(m);就打印了m,并且它打印出这样的数字R $ 91,67,但是我收到TypeError:val为空。

你看到什么错了吗?

保罗·S。

看起来像这样的正则表达式呢

var re = /^([a-z]+)([^\d])([\d.,]+)$/i,
    m;
m = re.exec('US$20.000,18'); // ["US$20.000,18", "US", "$", "20.000,18"]
m = re.exec('R$20,000.02');  // [ "R$20,000.02",  "R", "$", "20,000.02"]

然后m[3]是数字值,可以使用更多逻辑将其转换为数字,例如,如果采用以下形式x,xxx.xx

var int = +m[3].replace(/,/g, ''); // 20000.02

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在php中获取字符串的结尾?

如何在Python中获取字符串的大小?

如何在shell中获取字符串路径?

如何在汇编中获取字符串输入

如何在JavaScript中获取字符串的最后一部分?

如何在相同的字符串之间获取字符串javascript

如何在Java中获取字符串中双引号之间的字符串

如何在Python中获取字符串的子字符串?

如何在Python中获取字符串的所有连续子字符串?

如何在特定字符串中获取字符串?

如何使用javascript从字符串中获取字符串的特定部分?

如何连接数组对象和字符串以在 Javascript 中获取字符串?

如何在连字符前获取字符串

如何在字符oracle后获取字符串

如何在字符之间获取字符串(多字)

如何在PHP中获取字符串中字母数字字符的长度?

如何在Dart中获取字符串中的最后n个字符?

如何在C#中获取字符串中的所有其他字符

如何在PHP中获取字符串中的specifit字符

我如何从字符串中获取哈希,然后从JavaScript中的哈希获取字符串

如何在Azure搜索索引中获取字符匹配而不是子字符串

如何在jQuery中获取字符串中所有无效字符的值?

如何在SSIS 2008中某个字符之前获取字符串?

如何在bash中的特定字符之前获取字符串

如何在电力自动化中多次出现字符之前获取字符串

如何在Java中的两个字符之间获取字符串?

如何在php中获取字符串的波斯字符ascii代码

如何在Visual Basic中的字符串的特定位置获取字符?

如何获取字符串C ++中字符的值?