2010-11-18 47 views
0

我需要拆分的数量1.0765453,因为我需要的公里的米分开在千个分隔符分割数在JavaScript

结果应该是76(忽略零)

任何人都可以提供suggesti ,请

谢谢,Richard

+0

@您的编辑。我的答案(截断的那个)的第三个解决方案会给你。 – 2010-11-18 17:11:41

回答

4

要使用字符串方法首先转换为字符串:

var parts = 1.8765453.toString().split('.'); 

var parts = (''+1.8765453).split('.'); 

但是,你应该做这样只有用数字,而不是字符串的工作:

var distance = 1.8765453; // in Km 
var km = Math.floor(distance); 
var meters = Math.floor(distance * 1000) % 1000; 

或者,如果您想将其舍入而不是截断:

var distance = 1.8765453; // in Km 
var rounded = Math.round(1.8765453 * 1000); 
var km = Math.floor(rounded/1000); 
var meters = rounded % 1000; 
+0

我认为这是答案,我从来没有使用%,它是模数,对不对?我会检查这一个。只是一秒 – Richard 2010-11-18 17:06:40

+0

'%'a.k.a.'mod','modulus','remaining' :) – 2010-11-18 17:09:21

+0

谢谢,那个工作,有点问题,电脑cpu超时运行。现在好了。 – Richard 2010-11-18 17:32:29

0

indexof对字符串有效。你确定你有一个字符串的数字吗?或者它是一个实际的十进制?

+0

它是一个数字,谢谢 – Richard 2010-11-18 17:03:58

0

Math.floor(dist/1)

+0

'dist/1 == dist' :) – 2010-11-18 17:10:13

+0

我认为这可能是一种转换为数字的方式?很像'1 * dist'或'+ dist'。 – Zecc 2010-11-18 17:17:12