negrita letra javascript

letra - JavaScript no puede convertir números hindi/árabes a variables numéricas reales



title css (2)

Bueno, la función Number espera los dígitos del 0 al 9 y no maneja los árabes. Necesitarás cuidarte tú mismo:

function parseArabic(str) { return Number( str.replace(/[٠١٢٣٤٥٦٧٨٩]/g, function(d) { return d.charCodeAt(0) - 1632; // Convert Arabic numbers }).replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function(d) { return d.charCodeAt(0) - 1776; // Convert Persian numbers }) ); }

Uso:

> parseArabic("۱۶۶۰") 1660

Estoy tratando de usar un DOM proveniente de una fuente externa, y en él hay algunos valores numéricos en la transcripción hindi / árabe, como "۱۶۶۰" , y cuando quiero convertirlo en valor numérico obtengo NaN . ¿Qué está mal aquí?

Un pequeño fragmento de código para ser probado:

alert(Number("۱۶۶۰") + '' - '' + Number("1660"));


Le sugiero que lo maneje a un nivel inferior: reemplace los dígitos en árabe con los dígitos ASCII correspondientes y luego convierta.

Por ejemplo:

>a=''/u0661/u0666/u0666/u0660'' "١٦٦٠" >b=''/u06f1/u06f6/u06f6/u06f0'' "۱۶۶۰" >r=/[/u0660-/u0669/u06F0-/u06F9]/g; /[/u0660-/u0669/u06F0-/u06F9]/g >a.replace(r,function(c) { return ''0123456789''[c.charCodeAt(0)&0xf]; } ) "1660" >b.replace(r,function(c) { return ''0123456789''[c.charCodeAt(0)&0xf]; } ) "1660"