我有一个以数字形式返回的值,可以是十进制数,例如“1.15”。
但是,我需要格式化所有数字在一个范围内到给定的分数。例如,所有大于 0 但小于 0.2 的数字我想返回“1/8”。
我已经开始将其作为一系列 if/else 语句来执行此操作,但我想知道是否有更聪明、更简洁的方法。
if (amt > 0 && amt <= .2){
q = '1/8';
} else if (amt > .2 && amt <= .3){
q = '1/4';
} else if (amt > .3 && amt <= .4){
q = '1/3';
} else if (amt > .4 && amt <= .5){
q = '1/2';
} else if (amt > .5 && amt <= .7){
q = '2/3';
} else if (amt > .7 && amt <= .8){
q = '3/4';
} else if (amt > .8 && amt <= 1.0){
q = '7/8';
} else if (amt > 1 && amt <= 1.1){
q = '1';
} etc.....
将您的代码移至函数中,您可以return
从正确的分支开始并跳过所有else
声明,它非常显着地清理了事情:
function toFraction(amt) {
if (amt > 0 && amt <= .2) return '1/8';
if (amt <= .3) return '1/4';
if (amt <= .4) return '1/3';
if (amt <= .5) return '1/2';
// etc
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)