2017-06-19 17 views
0

我拼湊了一個腳本,它需要一個變量,做兩個單獨的數學計算,並在屏幕上顯示兩個答案。有一個JavaScript的準備,需要在數字結果中插入逗號

當結果超過1,000時,腳本需要將逗號放入「已生成」答案中。 (注意,在HTML中出現的默認值已經有逗號。)

但是,我不需要結果顯示任何結尾的小數點。

這裏是我的JavaScript和一些相關的HTML ...

function return_selected(currentID) { 
 
    var savings = document.getElementById(currentID); 
 
    var valueCalc = savings.options[savings.selectedIndex].value; 
 
    return valueCalc; 
 
} 
 

 
// computing potential at 3% 
 
function firstCalc() { 
 
    var calcPrice1 = return_selected('soldfor') * .03 - 595; 
 
    document.getElementById('savings3').innerHTML = "$" + calcPrice1; 
 
    return calcPrice1; 
 
} 
 

 
// computing potential at 6% 
 
function secondCalc() { 
 
    var calcPrice2 = return_selected('soldfor') * .06 - 595; 
 
    document.getElementById('savings6').innerHTML = "$" + calcPrice2; 
 
    return calcPrice2; 
 
} 
 

 
document.addEventListener("DOMContentLoaded", firstCalc); 
 
document.addEventListener("DOMContentLoaded", secondCalc); 
 
// should listen for all select option 
 
document.addEventListener("change", firstCalc); 
 
document.addEventListener("change", secondCalc);
<!--HTML Routine to DISPLAY COMPUTATIONS -->** 
 

 
<div class="box"> 
 
    <div class="content"> 
 
    <p>Start with this number 
 
     <select name="" id="soldfor"> 
 
      <option value="100000">$100,000</option> 
 
      <option value="200000">$200,000</option> 
 
      <option value="300000">$300,000</option> 
 
      <option value="400000" selected>$400,000</option> 
 
      <option value="450000">$450,000</option> 
 
      </select> 
 
    </p>Compute a new number <span id="savings3">$11,405</span> 
 
    <p> 
 
     <p>and compute another number 
 
     <span id="savings6">$23,405</span> 
 
    </div> 
 
</div>

+1

號在現代的JavaScript有一個'.toLocaleString()'方法和數學對象一直有圓/樓/小區功能去除小數點按要求 –

回答

0
function addComma(val) { 
    while (/(\d+)(\d{3})/.test(val.toString())) { 
     val = val.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2'); 
    } 
    return val; 
} 

var calcPrice1 = 100000 * .03 - 595; 
document.getElementById('savings3').innerHTML = "$" + addComma(Math.trunc(calcPrice1)); 

var calcPrice2 = 100000 * .06 - 595; 
document.getElementById('savings6').innerHTML = "$" + addComma(Math.trunc(calcPrice2)); 

它會爲你工作。

+0

非常感謝(向所有人)幫助這位新手解決困難局面! – Ittledoo

0

您可以使用Number.toLocaleString()根據語言環境約定來格式化數字。

var n1 = 1e5; 
var n2 = 1e6; 

console.log('n1:',n1.toLocaleString()); 
//=> n1: 100,000 
console.log('n2:',n2.toLocaleString()); 
//=> n2: 1,000,000 

請參閱Number.prototype.toLocaleString() @ MDN

0
if (!Number.prototype.toMoney) { 
    Number.prototype.toMoney = function() {     
     return this.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
    }; 
} 

console.log((4500000.00).toMoney()); // 4,500,000 

OR

var format = function (n) {     
    return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
}; 

console.log(format(10500)); // 10,500 
相關問題