第一種辦法:后端獲取到的數據格式是: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); // 設置學分比例
}
效果圖如: