欢迎来到DESIPO.COM,外贸电子商务整合专家!登录 | 免费注册 ?
会员优惠 | 软件下载 | 客服中心 | 收藏本站 | 购物车[0件]


如何将货币字符串转换为(浮点数)double与jQuery或JavaScript?

编辑时间2015年 08月 06日 查看全部评论 写评论
如何将货币字符串转换为(浮点数)double与jQuery或JavaScript?我有一个文本框,将有一个货币字符串在里面,我则需要该字符串转换为double对其执行操作。 “$ 1,100.00”-> 1100.00 这需要发生的所有客户端端。我别无选择,只能离开货币字符串作为货币字符串作为输入,但需要转换/将其转换为一个双允许的数学运算。

1. 删除所有非点/数字:
var currency = "$1,100.00";
var number = Number(currency.replace(/[^0-9\.]+/g,""));

2. 使用正则表达式来删除格式(美元parseFloat将字符串转换为浮点数。`
var currency = "$1,100.00";
currency.replace(/[$,]+/g,"");
var result = parseFloat(currency) + .05;

3. 我知道这是一个老问题,但想给一个额外的选项。 jQuery的全局化时代赋予解析文化特定的格式为浮点数的能力。 给定一个字符串“$ 13,042.00”,并使之全局化设置为en-US:
Globalize.culture("en-US");
你可以分析的float值了,像这样:
var result = Globalize.parseFloat(Globalize.format("$13,042.00", "c"));
这会给你:
13042.00
并允许您与其他文化的工作。
4. 你可以试试这个
<script type="text/javascript">
var str="$1,112.12";
str = str.replace(",","");
str = str.replace("$","");
document.write(parseFloat(str));
</script>

5. 我知道你已经找到了解决你的问题,我只是想,或许你可以看看下面的更广泛的jQuery插件用于国际数字格式: 国际数字格式化
6. accounting.js是要走的路。它在一个项目,有很好的吧。
accounting.formatMoney(4999.99, "€", 2, ".", ","); // €4.999,99
accounting.unformat("€ 1.000.000,00", ","); // 1000000
您可以在GitHub上找到它
7. 我知道这是一个老问题 CodeGo.net,但CMS的答案似乎有一个小小的瑕疵:“。”它只有在货币作品作为小数分隔符。 例如,如果你需要与俄罗斯卢布工作,该字符串将看起来像这样: “1 000,00擦。” 我的解决方案是远不比优雅CMS的,但它应该做的伎俩。
var currency = "1 000,00 rub."; //it works for US-style currency strings as well
var cur_re = /\D*(\d.*?\d)(?:\D+(\d{2}))?\D*$/;
var parts = cur_re.exec(currency);
var number = parseFloat(parts[1].replace(/\D/,'')+'.'+(parts[2]?parts[2]:'00'));
假设: 货币十进制表示法 没有数字的不属于货币值的一部分中的字符串 货币值包含0或2的小数部分的位数* 正则表达式甚至可以处理像“1,999美元和99美分”,虽然它不是一个预期的函数,不应加以依赖。 希望这将有助于
8. 将字符串转换为十进制:
var myString = '1234.098';

var myInteger = parseInt(myString); // result = 1234
var myNumber = parseFloat(myString); // result = 1234.098
为了减少小数位数:
var myNumber = 1234.098;
myNumber = myNumber.toFixed(2); // result = 1234.09

没有评论
Copyright © 2012-2013 迪赛普科技 版权所有

合作邮箱:admin@desipo.com 合作QQ:76052083