Web 頁面怎麼加貨幣符號和大寫轉換

xiaohuihui發表於2020-06-15

Web 頁面資料顯示常會涉及到各種各樣的資料格式化處理,其中,將金額加貨幣符號和大寫轉換就很常見。

1. 程式碼開發版實現方法

定義資料轉換函式,頁面進行呼叫。

1). 新增貨幣符號函式:

a. 獲取待處理的值,判斷是否為有效數值;

b. 將數值轉換為字串型別,定位在第一個數字前新增貨幣符號。

核心程式碼:

function currency (money){
 let val = money;
 if(val){
 val = '$'+val;
return val;
 }
}

注:貨幣符號轉換常需要同步做千分位格式處理,那就需要程式碼再分步處理資料小數點前後的內容核心程式碼如:var re=/(?=(?!(\b))(\d{3})+$)/g; money1= money1.replace(re,“,”);

2) . 大小寫轉換函式為例:

a. 定義最大處理金額;

b. 判斷金額所屬範圍(>0、=0、<0), 將數值轉換為字串型別;

c. 分別處理小數點前後的金額,拼接返回。

核心程式碼:

if (parseInt(IntegerNum, 10) > 0) { //獲取整型部分轉換
 var zeroCount = 0;
 var IntLen = IntegerNum.length;
 for (var i = 0; i < IntLen; i++) {
 var n = IntegerNum.substr(i, 1);
 var p = IntLen - i - 1;
 var q = p / 4;
 var m = p % 4;
 if (n == "0") {
 zeroCount++;
 }
 else {
 if (zeroCount > 0) {
 ChineseStr += cnNums\[0\];
 }
 zeroCount = 0; //歸零
 ChineseStr += cnNums\[parseInt(n)\] + cnIntRadice\[m\];
 }
 if (m == 0 && zeroCount < 4) {
 ChineseStr += cnIntUnits\[q\];
 }
 }
 ChineseStr += cnIntLast;
 //整型部分處理完畢
 }
 if (DecimalNum != '') { //小數部分
 var decLen = DecimalNum.length;
 for (var i = 0; i < decLen; i++) {
 var n = DecimalNum.substr(i, 1);
 if (n != '0') {
 ChineseStr += cnNums\[Number(n)\] + cnDecUnits\[i\];
 }
 }
 }

2. 更便捷多用的方法

使用內建資料顯示轉換功能的報表工具,透過簡單的設定達到資料轉換的效果。

1) 新增貨幣符號配置

1png

2) 數值大寫轉換

2png

具體操作可以參考 。

注:使用工具除了可以簡單快捷實現上述轉換外,還可以做更多的顯示設定,比如:數值轉中文,日期格式化等等。

如上兩種情況相較而言,前者程式碼雖可以實現轉換的需求,但要求開發者的邏輯思維一定要清晰,思路要明確,不然很可能因為考慮不夠全面,導致轉換不正確,且往往一個頁面需要做資料格式化的處理的部分很多,每個都這麼寫就很麻煩,後續維護也困難。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2698466/,如需轉載,請註明出處,否則將追究法律責任。

相關文章