【发布时间】:2016-04-17 22:08:19
【问题描述】:
我正在尝试在 AngularJS 中创建一个自定义过滤器,它将数字过滤为罗马数字,例如 10 等于 X。但是这个过滤器无法读取大于 10 的数字,我正在考虑一种方法来拆分一个大数成几个单数,例如 11 = 10 + 1
app.filter("myFilter", function () {
return function (myNum) {
var formatedNumber = "";
switch (myNum) {
case 1:
formatedNumber = "I";
break;
case 2:
formatedNumber = "II";
break;
case 3:
formatedNumber = "III";
break;
case 4:
formatedNumber = "IV";
break;
case 5:
formatedNumber = "V";
break;
case 6:
formatedNumber = "VI";
break;
case 7:
formatedNumber = "VII";
break;
case 8:
formatedNumber = "VIII";
break;
case 9:
formatedNumber = "IX";
break;
case 10:
formatedNumber = "X";
break;
case myNum > 10:
formatedNumber = "";
break;
}
return formatedNumber;
};
});
【问题讨论】:
-
您想要处理的最大数字是多少?此外,如果你想为你破坏答案,你为什么不只是谷歌算法?之前已经做过很多次了。
-
你是对的。在我用谷歌搜索算法后,它变得容易多了。