javascript - 如何在javascript中将下拉列表中的所有值转换为百万/十亿?
问题描述
如何转换由这些示例中的代码生成的下拉列表中的所有输出数字?(例如:如果输出数字是 100 0000,我想将其显示为 1M(百万) Ex2:如果输出数字是 1000 000 000,我想将其显示为 1B(十亿))
window.f = function(event) {
var ddlArray = new Array();
var onoffelem=event.target;
var ddl = document.getElementById('ddl');
var select = document.getElementById('combo2');
var combo3 = document.getElementById('combo3');
var selectedVal=onoffelem.options[onoffelem.selectedIndex].text ;
if (selectedVal == "LKR") {
document.getElementById("combo2").options.length = 0;
for (i = 0; i < combo3.options.length; i++) {
ddlArray[i] = combo3.options[i].value;
}
for (i = 0; i < ddlArray.length; i++) {
var option = document.createElement("OPTION"),
txt = document.createTextNode("Rs. " + ddlArray[i] * 185000000);
option.appendChild(txt);
option.setAttribute("value", ddlArray[i] * 185000000);
select.insertBefore(option, select.lastChild);
}
}
if (selectedVal == "USD") {
document.getElementById("combo2").options.length = 0;
for (i = 0; i < combo3.options.length; i++) {
ddlArray[i] = combo3.options[i].value;
}
for (i = 0; i < ddlArray.length; i++) {
var option = document.createElement("OPTION"),
txt = document.createTextNode(ddlArray[i] * 20000);
option.appendChild(txt);
option.setAttribute("value",ddlArray[i] * 20000);
select.insertBefore(option,select.lastChild);
}
}
}
<select id="ddl" onchange="f(event)" >
<option value="185">USD</option>
<option value="11">LKR</option>
<option value="48">AED</option>
</select>
<select name="" id="combo2" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="" id="combo3" hidden="">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
解决方案
您可以使用与此类似的功能:
formatNumber(num) {
if (num >= 1000000000) {
return (num / 1000000000).toFixed().replace(/\.0$/, '') + 'B';
}
if (num >= 1000000) {
return (num / 1000000).toFixed().replace(/\.0$/, '') + 'M';
}
if (num >= 1000) {
return (num / 1000).toFixed().replace(/\.0$/, '') + 'K';
}
}
推荐阅读
- spring-boot - 开放班次中用于 Spring Boot 微服务的 API 网关
- css - CSS网格防止孙子溢出滚动条
- python - 如何在 MySQL 8 中保存 phash 并计算汉明距离?
- typescript - 是否可以在 Typescript 中获取记录值的数组类型?
- solr - Moodle 的 Solr 错误 - java.lang.IllegalArgumentException:未知目录
- python - 为特定 Pycharm 项目设置 Django 环境变量
- javascript - Firefox 扩展 - 如何按类和标题单击按钮?
- android - “生成的签名包”构建过程卡在 :app:uploadCrashlyticsMappingFileRelease 任务
- javascript - JSON数据有什么问题?
- postgresql - 使用ansible在psql server上执行sql命令