Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript将int转换为字符串_Javascript_String_Int_Type Conversion - Fatal编程技术网

JavaScript将int转换为字符串

JavaScript将int转换为字符串,javascript,string,int,type-conversion,Javascript,String,Int,Type Conversion,我在JavaScript中面临着奇怪的转换: function getFromDatabase(){ //the result may be gotten from database or some complex methods and CANT be changed! return 000000; } var param = getFromDatabase(); alert(param);// -> 0

我在JavaScript中面临着奇怪的转换:

    function getFromDatabase(){
      //the result may be gotten from database or some complex methods and CANT be changed!
      return 000000;
    }

    var param = getFromDatabase();
    alert(param);// -> 0        
    alert(param.toString());// -> 0         
    alert("" +param + "");// -> 0       

我怎样才能得到000000或“000000”?

如果你想区分000000和0,你不能。000000在离开函数之前被“转换”为0

如果要打印前导零,请尝试以下操作

function intToLeadingZerosString(myint){
  var s= myint.toString(10);
  return Array( 6-s.length+1 ).join("0") + s;
}
alert(intToLeadingZerosString(param));
或:


为什么不在返回时将其转换为字符串? 因为,return语句发送的值将通过“按值复制”的概念返回。此外,通过复制它(即按值复制)将其分配给param。因此,000000转换为0。之后,将其转换为字符串将为“0”


以字符串形式返回,然后根据需要将其转换为int。这将是处理场景的最佳方式。

因为函数返回“int”值。
尝试在
上更改返回'000000'
000000
只是
0
,而
param
中的值为0。在其周围使用字符串引号“绕过”it@KarelG我不能改变方法,这意味着我不能改变结果。我不能改变方法,这意味着我不能改变结果。
Number.prototype.toStringLeading = function() {
   var s = this.toString(10);
   return Array( (arguments.length?arguments[0]:6)-s.length+1 ).join("0") + s;
};
alert(param.toStringLeading(6));
alert(param.toStringLeading());
    function getFromDatabase(){
      return '000000'; 
    }

    var param = getFromDatabase();      
    alert(param);// -> 000000         
    alert(isNaN(param)?"":parseInt(param));// -> 0