蔡香满屋
站在牛顿头上吃苹果
第一种办法:后端获取到的数据格式是: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); // 设置学分比例
					}

  效果图如:

 



posted on 2018-12-19 10:53  蔡香满屋  阅读(5237)  评论(0编辑  收藏  举报