将参数作为字符串并在javascript中转换为数字

时间:2017-03-21 09:45:34

标签: javascript

我的问题是我的客户将使用任何其他语言输入值。假设马拉地语。我需要根据输入创建账单。 我所做的是我把用户输入的字符串作为字符串并为其赋值,这是工作到0-9但是10,100,1000等等。 这是我的代码,plz建议

public <T extends ResourceRepresentationWithId> T post(String path, CumulocityMediaType mediaType, T representation) throws SDKException

3 个答案:

答案 0 :(得分:1)

你可以get the UTF-16 code这个角色,所以你甚至不需要一个开关

var no1 = document.getElementById('rate').innerHTML

alert(no1.charCodeAt(0));
<p id="rate">r</p>

答案 1 :(得分:1)

此代码会转换0-9之上和之下的数字:

var map = {"-":"-","०":0,"१":1,"२":2,"३":3,"४":4,"५":5,"६":6,"७":7,"८":8,"९":9};
function convert(str) {
  var converted_str = '';
  if (str.split('').find(char => {
    if (map.hasOwnProperty(char))
      converted_str += map[char];
    else
      return true;
    }) === true) {
    return NaN;
  } else {
    return parseInt(converted_str);
  }
}

答案 2 :(得分:0)

此方法将有助于JavaScript。

像这样var nos=[['०',0],['१',1],['२',2]];创建一个2D数组,并在第一个索引中添加本地数字,在第二个索引中添加原始数字,就像我一样。

下面包含示例代码
尝试在文本框中键入马拉地语数字,然后单击按钮。然后检查控制台

&#13;
&#13;
var nos=[['०',0],['१',1],['२',2],['३',3],['४',4],['५',5],['६',6],['७',7],['८',8],['९',9]];
function convert_number(num){
  if(typeof num!=typeof 123){
    var i=0;
    if(num.length>1)
      return convertmore(num);
    while(i<nos.length){
      if(nos[i][0]==num){
        return nos[i][1];
      }
      i++;
    }
 }
 else{
  return num;
 }
}
function convertmore(num){
  var i=num.split('');
  var result=0;
  i.forEach(function(x){
    result*=10;
    result+=convert_number(x);
  });
  return result;
}
&#13;
<input id="num" type="text" />
<button onclick="console.log(convert_number(document.getElementById('num').value));">Convert</button>
&#13;
&#13;
&#13;