2017-04-07 66 views
-1

我写了下面的代码更改号码波斯工作::不正确的JavaScript

function farsi(x) { 
    x = x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
    var a = '۰۱۲۳۴۵۶۷۸۹'; var b = ''; 
    for (var i = 0; i < x.length; i++) { 
     var c = x.charCodeAt(i); 
     b += (c >= 48 || c <= 57 ? a.charAt(c - 48) : x.charAt(i)); 
    } 
    return b; 
} 

我已经使用正则表达式从How to print a number with commas as thousands separators in JavaScript000 seprator其正常工作。但分隔符不被在这行代码添加:

b += (c >= 48 || c <= 57 ? a.charAt(c - 48) : x.charAt(i)); 

这里是fiddle

+2

您在从条件缺少括号:B + =((C> = 48个||ç<= 57)a.charAt(C? - 48):x.charAt(i)); – Esko

+0

https://developer.mozilla.org/cs/docs/Web/JavaScript/Reference/Operators/Operator_Precedence –

+0

@Pavel链接导致捷克语翻译。这里是英文版:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Operator_Precedence – Fildor

回答