Javascript 如何在最终交换值中输出货币符号?

Javascript 如何在最终交换值中输出货币符号?,javascript,Javascript,我想知道如何在我的货币转换器中输出用户想要转换金额的不同货币符号?例如,如果我想在新金额的最终输出中将20英镑转换为欧元,即20英镑的欧元值,我如何才能输出欧元符号?最终输出只是数字,我希望在最终值金额输出前面有一个货币符号,我想知道如何为输出金额的每种货币都这样做。我正在从API导入实时汇率,因此,如何导入汇率,但添加货币符号 JAVASCRIPT // Fetch exchange rate data from api $.getJSON("https://api.fixer.io/lat

我想知道如何在我的货币转换器中输出用户想要转换金额的不同货币符号?例如,如果我想在新金额的最终输出中将20英镑转换为欧元,即20英镑的欧元值,我如何才能输出欧元符号?最终输出只是数字,我希望在最终值金额输出前面有一个货币符号,我想知道如何为输出金额的每种货币都这样做。我正在从API导入实时汇率,因此,如何导入汇率,但添加货币符号

JAVASCRIPT

// Fetch exchange rate data from api
$.getJSON("https://api.fixer.io/latest?base=ZAR", function(data) {
  var currencies = [];
  $.each(data.rates, function(currency, rate) {
    // Currency options dropdown menu
    currencies.push("<option id='" + currency.toLowerCase() + "' value='" + rate + "' >" + currency + "</option>");
  });
  $(".currency-list").append(currencies);
})

//Calculate and output the new amount
function exchangeCurrency() {
  var amount = $(".amount").val();
  var rateFrom = $(".currency-list")[0].value;
  var rateTo = $(".currency-list")[1].value;
  if (amount == undefined || rateFrom == "--Select--" || rateTo == "--Select--") {
    $(".results").html("0");
  } else {
    $(".results").html((amount * (rateTo * (1 / rateFrom))).toFixed(2));
  }
}
//从api获取汇率数据
$.getJSON(“https://api.fixer.io/latest?base=ZAR,函数(数据){
var货币=[];
$.each(数据、汇率、函数(货币、汇率){
//货币选项下拉菜单
货币。推送(“+货币+”);
});
美元(“.currency list”)。追加(货币);
})
//计算并输出新的金额
函数交换电流(){
变量金额=$(“.amount”).val();
var rateFrom=$(“.currency list”)[0]。值;
var rateTo=$(“.currency list”)[1]。值;
如果(金额==未定义的| |比率从==”--选择--“| |比率到=”--选择--”){
$(“.results”).html(“0”);
}否则{
$(“.results”).html((金额*(rateTo*(1/rateFrom)).toFixed(2));
}
}

您可以使用Localestring

var编号=123456.789;
//请求货币格式
console.log(number.tolocalString('de-de',{style:'currency',currency:'EUR'}));//→ 123.456,79 €
var currency=document.getElementById('currency');
var Euro=number.tolocalString('de-de',{style:'currency',currency:'EUR'});
currency.innerHTML=欧元

您可以使用Localestring

var编号=123456.789;
//请求货币格式
console.log(number.tolocalString('de-de',{style:'currency',currency:'EUR'}));//→ 123.456,79 €
var currency=document.getElementById('currency');
var Euro=number.tolocalString('de-de',{style:'currency',currency:'EUR'});
currency.innerHTML=欧元

当您可以在支持Intl对象的地方使用ToLocalString时,您也可以对符号使用小型查找表(例如,
{euro:'&euro;',pound:'£;',…}

/*
https://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript/149099#149099
decimal_sep:用作decimal separtor的字符,省略时默认为“.”
千分:字符用作千分分隔符,省略时默认为“,”
*/
Number.prototype.toMoney=函数(小数、小数、千)
{ 
var n=这个,
c=isNaN(小数)?2:Math.abs(小数),
d=十进制| | |',
t=(千分之类型=未定义“?”,“:千分之类型,
符号=(n<0)?'-':'',
i=parseInt(n=Math.abs(n).toFixed(c))+“”,
j=((j=i.length)>3)?j%3:0;
返回符号+(j?i.substr(0,j)+t:“”)+i.substr(j).替换(/(\d{3})(?=\d)/g,“$1”+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):”;
}
var currencySymbol={欧元:'&euro;',英镑:'£;',美元:'$'};
风险价值金额=123546.23
document.getElementById('moneyAmount0')。innerHTML=currencySymbol.euro+amount.toMoney();
document.getElementById('moneyAmount1')。innerHTML=currencySymbol.euro+amount.toMoney(2',,',',')
金额(英文):

金额(欧洲):

在支持Intl对象的情况下,您可以使用ToLocalString,但也可以使用小型查找表(例如,
{euro:'&euro;',pound:'£;',…}
)手动查找符号

/*
https://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript/149099#149099
decimal_sep:用作decimal separtor的字符,省略时默认为“.”
千分:字符用作千分分隔符,省略时默认为“,”
*/
Number.prototype.toMoney=函数(小数、小数、千)
{ 
var n=这个,
c=isNaN(小数)?2:Math.abs(小数),
d=十进制| | |',
t=(千分之类型=未定义“?”,“:千分之类型,
符号=(n<0)?'-':'',
i=parseInt(n=Math.abs(n).toFixed(c))+“”,
j=((j=i.length)>3)?j%3:0;
返回符号+(j?i.substr(0,j)+t:“”)+i.substr(j).替换(/(\d{3})(?=\d)/g,“$1”+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):”;
}
var currencySymbol={欧元:'&euro;',英镑:'£;',美元:'$'};
风险价值金额=123546.23
document.getElementById('moneyAmount0')。innerHTML=currencySymbol.euro+amount.toMoney();
document.getElementById('moneyAmount1')。innerHTML=currencySymbol.euro+amount.toMoney(2',,',',')
金额(英文):


金额(欧洲):

您有办法获取货币名称(即“欧元”、“美元”、“英镑”等)吗?如果是这样,就这样做:

currencySymbols = {euros:'&euro;',dollars:'$',pounds:'&pound;'};
finalText = currencySymbols[currencyText.toLowerCase()] + currencyValue;

这会给你一些类似于
$42
$6.38

你有办法获得货币名称(即“欧元”、“美元”、“英镑”等)吗?如果是这样,就这样做:

currencySymbols = {euros:'&euro;',dollars:'$',pounds:'&pound;'};
finalText = currencySymbols[currencyText.toLowerCase()] + currencyValue;

这将为您提供类似于
$42
$6.38

的内容,查找货币符号的HTML实体列表不需要太多时间,例如,查找货币符号的HTML实体列表不需要太多时间,例如,似乎无法使此工作正常。您有JSFIDE吗?当您可以在此处使用可运行的代码段时,为什么要以小提琴的形式发布?我发布了一个snippet@RobG他最初的回答中一句话也没有。你为什么不帮助别人而不是成为一名键盘战士?@adkldfadklfaklfdlk只是一个简单的请求。更容易访问,不会像外部链接那样腐烂。似乎无法正常工作您有jsfid吗