如何从大数字中分割出一个数字?

时间:2016-04-17 22:08:19

标签: angularjs filter

我试图在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;
};
});

1 个答案:

答案 0 :(得分:0)

除以你最大的数字。商数将是您使用的最大数字的数量,其余数字将是其他数字。在您的示例中,11/10 = 1.1。所以你知道你需要1 X和1 I.另一个例子,让我们使用379. 379/10 = 37.9。这意味着你将拥有37个X和一个IX。