在Javascript中将大十进制数转换为字符串

在Javascript中将大十进制数转换为字符串,javascript,Javascript,我从一个请求中得到了很大的十进制数&我想把它们转换成字符串。 例如: 我尝试了所有转换为字符串的方法 var r=12311241412412.1241523523523235 r.toString(); r+''; ''+r; String(r); //output '12311241412412.1241' //what i want '12311241412412.1241523523523235' 所有方法返回的十进制数

我从一个请求中得到了很大的十进制数&我想把它们转换成字符串。 例如:

我尝试了所有转换为字符串的方法

var r=12311241412412.1241523523523235
        r.toString(); 
        r+'';
        ''+r;
        String(r);
//output
'12311241412412.1241'
//what i want
'12311241412412.1241523523523235'
所有方法返回的十进制数最多为4位(12311241412412.1241) 但我要所有的号码直到最后。 我还尝试了r.toFixed().toString(),但每次小数的长度都会改变


做这件事的简单方法是什么?

问题是
12311241412412.1241523523523235
在javascript中的意思是
12311241412412.125
。不管你做什么,都是行不通的,除非你把整个事情放在第一位

改用这个:

var r = "12311241412412.1241523523523235";

问题在于javascript中的
12311241412412.1241523523523235
表示
12311241412412.125
。不管你做什么,都是行不通的,除非你把整个事情放在第一位

改用这个:

var r = "12311241412412.1241523523523235";

我不认为JS能以那样的精度处理这么大的数字。我不认为JS能以那样的精度处理这么大的数字。OP说他是从request@SagarV:对。。!!var r=request.id///responsefirst在控制台上记录该值,并确保您得到了它properly@Ritwikga什么是
请求
,它来自哪里?谁生成了那个数值?JS无法表示如此精确的数字。它从何处获得并不重要。只要是一个数字,javascript将在解析后将其更改为您看到的内容。所以,使其成为原始值的唯一方法就是根本不解析它(将其保持为字符串)。如果你想进行数学运算,那么你可以使用现有的库来实现这个目的request@SagarV:对。。!!var r=request.id///responsefirst在控制台上记录该值,并确保您得到了它properly@Ritwikga什么是
请求
,它来自哪里?谁生成了那个数值?JS无法表示如此精确的数字。它从何处获得并不重要。只要是一个数字,javascript将在解析后将其更改为您看到的内容。所以,使其成为原始值的唯一方法就是根本不解析它(将其保持为字符串)。如果你想要数学运算,那么你可以使用一些库,这些库就是为了这个目的而存在的。