/** * 评分的五分制计算,并且末尾只保留.0或.5, * 传入的值只能是整数或者只有一位小数点 * 例如:4.3->4.5,4.6->5.0,4.5->4.5 * @param score * @return */ function roundScore(v) { var score = Number(v); /*说明用户给定的十分制的内容*/ if(score > 5) { score = score / 2; } /*计算整型值与原值的差,比如4.3计算结果为0.3*/ var subResult = score - parseInt(score); /*计算结果为0.5,说明该值本身就为X.5格式,不再做计算,直接返回*/ if(subResult == 0.5) { return score; } /*计算结果为0,说明该值本身是一个整型值,也直接返回*/ else if(subResult == 0){ return score; } /*计算结果小于0.5,说明该值是一个4.(1,2,3,4)的格式,直接结果为4.5*/ else if(subResult < 0.5) { return parseInt(score) + 0.5; } /*计算结果大于0.5,说明该值是一个4.(6,7,8,9)的格式,直接结果为5.0*/ else if(subResult > 0.5) { return Number(parseInt(score) + 1).toFixed(1); } } /** * 计算显示得分的星星样式,s0表示无积分,s1表示0.5分(10分制的1分),以此类推 * @param v * @return */ function getScoreCssName(v) { var score = roundScore(v); //return "s" + score*2; return "ss" + score*2; }