Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 如何删除分数点后的0?_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 如何删除分数点后的0?

Javascript 如何删除分数点后的0?,javascript,jquery,regex,Javascript,Jquery,Regex,我有以下变量: var result = 30.03692740; 我想在之后删除0,以便最终结果为: 30.3692740 怎么做 我试过: result = result.replace('.0' , '.'); 但它不工作。使用字符串。要执行此操作,需要将数字转换为字符串: var结果=30.03692740; result=result.toString(); 结果=结果.替换('.0','.'); result=parseFloat(结果); 控制台日志(结果)请原谅我的好奇,但

我有以下变量:

var result = 30.03692740;
我想在
之后删除
0
,以便最终结果为:

30.3692740

怎么做

我试过:

result = result.replace('.0' , '.');
但它不工作。

使用字符串。要执行此操作,需要将数字转换为字符串:

var结果=30.03692740;
result=result.toString();
结果=结果.替换('.0','.');
result=parseFloat(结果);

控制台日志(结果)请原谅我的好奇,但你为什么要这么做

答案是:

var result = 30.03692740; 
result = result.toString().replace('.0' , '.');

正如其他人指出的,
replace()
与字符串一起工作,因此需要首先将数字转换为字符串。使用
.toString()
进行转换是最清晰的方法,但如果性能至关重要,则转换速度更快:

result = (result + "").replace('.0' , '.');
或者,您可以使用数学,而不是转换为字符串。首先将整数部分和小数部分分开,将小数部分乘以10以删除第一个零,然后再将这两部分相加。这种方法的唯一问题是会遇到浮点数精度。通常这是可以忽略的,但如果是问题,可以使用
.toFixed()

var结果=30.03692740;
结果=parseInt(结果)+(结果%1*10);
控制台日志(结果);

console.log(result.toFixed(6))
(result.toString())
一个数字不是字符串,我希望您知道。注意:如果您的初始赋值和最终结果是字符串,则您的最终结果只能是
30.3692740
,我不会解析字符串。。。OP想要尾随的
0
@JaromandaX——哈哈。尾随的0未与原始赋值保持一致
result=30.03692740