0

我必须通过 JavaScript 将意大利数字系统转换为英文数字系统,并且我在下面编写了代码来实现这一点。

function fnNumSysConvertor(number) {
    if(number.toString().lastIndexOf(",") == -1 && number.toString().indexOf(".") == 0 )
         return number;
    else if(number.toString().lastIndexOf(",") != -1 && number.toString().indexOf(".") != -1 ) {
         if(number.toString().length === number.toString().lastIndexOf(",") + 1)
             return removeLastComma(number);
         else 
            return replaceDot(number);
     }      
     else if (number.toString().lastIndexOf(",") != -1)
         return removeLastComma(number);
     else if (number.toString().indexOf(".") != -1)
        return replaceDot(number);
     else
        return number;
}

function removeLastComma(number) {
    number=number.substring(0,number.lastIndexOf(","))
    return number.toString();
}

function replaceDot(number) {
    number = number.replace(/\./g, "");     
    return number.toString();
}

测试用例 :

fnNumSysConvertor("80"); - 80 - Passed
fnNumSysConvertor("1.220"); - 1220 - Passed
fnNumSysConvertor("227.094,"); - 227.094 - Passed
fnNumSysConvertor("1.083.003,"); - 1.083.003 - Failed. It should be 1083.003

此代码在某些情况下运行良好,对于失败的情况,我也可以再设置一个if条件并更改它,但是我觉得我所做的一切都不是通用和最佳的方法。

任何人都可以帮助给出一些想法,我该如何编写一些通用代码,这些代码将在每个测试用例中通过。

提前致谢。

4

0 回答 0