我有一个表单,用户填写和古吉拉特语数字编号(古吉拉特语),例如。 ૧૪
(即14)。我想检查输入的古吉拉特语编号是否小于 50 (或૫૦
)。
我如何在java和javascript中进行此检查?
答案 0 :(得分:4)
您可以将其转换为小数并比较结果。
function gujaratiToDecimal (n) {
return n.split ("").reduce (function (sum,chr,index,array) {
var num = chr.charCodeAt (0) - 2790; //Subtract 2790 to get the decimal value for the current char
num *= Math.pow (10, array.length - index - 1); //Multiply it with a power of ten, based on its position
return sum + num //Sum it up
},0)
}
gujaratiToDecimal ("૫૦"); //50
gujaratiToDecimal ("૧૪") < gujaratiToDecimal ("૫૦") //true
这是JSFiddle
我想你可以很容易地将它翻译成Java。 - 刚刚安装了IDE,这是一个Java版本
public int gujarati (String str) {
int len = str.length ();
int sum = 0;
for (int i=0; i < len; i++) {
sum += (str.charAt (i) - 2790 ) * Math.pow (10, len - i - 1);
}
return sum;
}
答案 1 :(得分:1)
您可以获取输入字符的单代码值。您可以使用0-9的值映射这些值(例如,1映射到1)。基于这些,您可以将输入古吉拉特语的数字转换为英语中的数字。
答案 2 :(得分:1)
我认为这适用于java
public static int convertGujratiToEnglishNumber(String number) {
int len = number.length();
StringBuilder englishNumber = new StringBuilder();
for (int i = 0; i < len; i++) {
char c = number.charAt(i);
switch (c) {
case '१' :
englishNumber.append(1);
break;
case '२' :
englishNumber.append(2);
break;
case '३' :
englishNumber.append(3);
break;
....
..... until 9 or (९)
default :
break;
}
}
return Integer.parseInt(englishNumber.toString());
}
答案 3 :(得分:0)
您可以简单地使用java脚本函数来填充与“gujrati”文本框相同的隐藏文本值。因此,如果我是一个用户并输入14,则隐藏文本框应该填充14,然后您可以将其与50进行比较。我的快速想法可以有更好的意见。