js之小數轉百分號顯示的處理


第一種辦法:后端獲取到的數據格式是:0.16666666666666666,目的是:想要轉成16.67%顯示在前端界面
代碼實現:主要使用了Math.round()方法,具有四舍五入的功能,以及toFixed()這個方法規定小數的位數,比如50%后面沒有小數點,於是補上0,變成50.00%
 // 小數點轉百分號的處理函數
        const renderContent = (value) => {
            if (value != undefined && value != null) {
                // 轉為百分比展示,如數據為0.16666666666666666這個數據轉換成16.67%,以及如果是0.5這種轉換成50.00%格式。
                const scale = ((Math.round((value * 10000)))/100.00).toFixed(2) + '%';
                return scale;
            }
        };
后端代碼實現如下:
if (creditsAndPeriodsList.getTotalCredit() != null && creditsAndPeriodsList.getTotalCredit() != 0) {
					// 保證模塊學分(Double類類型)不能為null,不然會報空指針
					if (creditsAndPeriodsList.getSchemeSystemCredit() != null) {
						double creditTemp = creditsAndPeriodsList.getSchemeSystemCredit()
								/ creditsAndPeriodsList.getTotalCredit();  // 獲取到的是0.16666666666666666
 creditsAndPeriodsList.setCreditScale(creditTemp); // 設置學分比例 }
第二種辦法:
后端獲取到的數據格式是:0.1667,目的是:想要轉成16.67%顯示在前端界面
 // 小數點轉百分號的處理函數
        const renderContent = (value) => {
            if (value != undefined && value != null) {
                // 轉為百分比展示,如數據為0.1667這個數據轉換成16.67%,以及如果是0.5這種轉換成50.00%格式。
                const scale = (value*100.00).toFixed(2) + '%';
                return scale;
            }
        };

  后端實現如下:

if (creditsAndPeriodsList.getTotalCredit() != null && creditsAndPeriodsList.getTotalCredit() != 0) {
					// 保證模塊學分(Double類類型)不能為null,不然會報空指針
					if (creditsAndPeriodsList.getSchemeSystemCredit() != null) {
						double creditTemp = creditsAndPeriodsList.getSchemeSystemCredit()
								/ creditsAndPeriodsList.getTotalCredit();
						double creditScale = new BigDecimal(creditTemp).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); // 保留小數點后四位 輸出0.1667
						creditsAndPeriodsList.setCreditScale(creditScale); // 設置學分比例
					}

  效果圖如:

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM