D'après la documentation d'Apache Commons Lang pour le logiciel StringUtils.isNumeric()
la chaîne '' est numérique.
Comme je pensais qu'il s'agissait d'une erreur dans la documentation, j'ai effectué des tests pour vérifier cette affirmation. J'ai constaté que, selon Apache Commons, il est possible de est numérique.
Pourquoi cette chaîne est-elle numérique ? Que représentent ces caractères ?
61 votes
Peut-être représentent-ils des chiffres dans une certaine langue. Toutes les langues n'utilisent pas les symboles 0 à 9 pour représenter les chiffres.
166 votes
Il s'agit de 1, 2 et 3 en hindi
11 votes
Vous pouvez obtenir la valeur entière par
Integer.parseInt("")
.1 votes
"".isnumeric()
est également True (en Python, mais probablement aussi en Java), de même que"".isnumeric()
2 votes
Voir aussi stackoverflow.com/q/40156585/974555
2 votes
Étape 1 : réaliser que ces caractères ne font pas partie de votre alphabet. étape 2 : réaliser qu'il s'agit probablement d'une autre langue. étape 3 : laisser google translate s'en charger : translate.google.com/#auto/en/%E0%A5%A7%E0%A5%A8%E0%A5%A9
1 votes
@gerrit : Mais qu'en est-il des
"".isnumeric()
o"e".isnumeric()
?9 votes
@dan04 Il ne s'agit pas de chiffres, mais de lettres utilisées pour représenter des constantes particulières. Notez la différence entre y
MC
.3 votes
C'est pourquoi \d est moins efficace que [0-9] . Dois-je utiliser \d ou [0-9] pour faire correspondre des chiffres dans une expression rationnelle Perl ?
2 votes
@LuuVinhPhúc Pas en Java. En Java,
\d
est un synonyme de[0-9]
. Il ne correspondra pas aux chiffres Devanagari.3 votes
@Blip Ce n'est pas de l'hindi. Il s'agit d'un chiffre Devanagari.
0 votes
Si vous utilisez Firefox, téléchargez l'extension Identify Characters !
1 votes
@Sujan, l'hindi ne s'écrit-il pas habituellement en Devanagari ?
0 votes
@AntonSherwood Oui, tout comme le marathi, le bhojpuri, l'awadhi, le magahi, le maithili, le népali, le pali, le konkani, le bodo, le sindhi et le sanskrit, et bien d'autres encore. Devanagari est un script, comme le latin, l'hindi, le marathi sont des langues comme l'anglais.
0 votes
@AshishPatil Alors comment Sujan peut-il dire que ce n'est pas de l'hindi (plutôt que "ce n'est pas nécessairement de l'hindi") ?
0 votes
Bienvenue à Unicode :)
0 votes
En gros, c'est
sanskrit
,0
a été inventé dans cette langue, si vous faites une simple recherche sur google sur les nombres sanskrits vous obtiendrez ceci vérifiez ceci pour référence ( 2indya.com/2011/06/22/sanskrit-counting-1-to-100 )2 votes
Pourquoi pensez-vous que la documentation est erronée ?
0 votes
GNU Calculator (application graphique Linux) le reconnaît également comme numérique (cependant le résultat est affiché en chiffres arabes) : +0=123 ; +100=223 ; +0=123 ; +123=246