我有一堆geojson数据可能会完全相同。更改浮点数的最后一位
30.9694313
如何将我隔离的最后一个数字和随机增加它或减少它降落在任何30.9694314 30.9694312还是?
我想我可以加或减0.0000001,但如何处理动态浮动长度的事件呢?
我有一堆geojson数据可能会完全相同。更改浮点数的最后一位
30.9694313
如何将我隔离的最后一个数字和随机增加它或减少它降落在任何30.9694314 30.9694312还是?
我想我可以加或减0.0000001,但如何处理动态浮动长度的事件呢?
做到这一点的一种方法是获取您的浮点数的字符串表示形式,然后将最后一个数字解析为整数。然后,您可以递增/递减它,将它添加回您的字符串的子字符串以替换旧的最后一位数字,并将其解析为浮点数。不知道这是否是最有效的方法,但这是第一个想到我的脑海。
编辑:一些方法来帮助你链接(MDN)
如果你这样做,你可以通过使用str.charAt(str.length)得到字符串的最后一个数字,但我相信你已经知道:-) – Driice
感谢您的帮助球员。这是我想出的。我想可能有更清晰的方式,但这似乎对我有用。感谢您让我走上正轨。
noiselocation('-30.12345');
function noiselocation(coord){
//num to string and strip special chars
var coordstr = coord.toString();
console.log('string: ' + coordstr);
//get length
var coordstrlength = coordstr.length-1;
console.log('length: ' + coordstrlength);
//get last char
var coordlastchar = coordstr.charAt(coordstrlength);
console.log('last char: ' + coordlastchar);
//turn back to number
coordlastnum = parseInt(coordlastchar);
console.log('last num: ' + coordlastnum);
//randomly increment up or down
var randswitch = Math.floor(Math.random() * 2) + 1;
if(randswitch == "1"){
coordlastnum++;
}else{
coordlastnum--;
}
console.log('last num after rand: ' + coordlastnum);
//replace last char on string
var newcoordstr = coordstr.slice(0, -1) + coordlastnum;
console.log('new string: ' + newcoordstr);
//turn string back to num
newcoordnum = parseFloat(newcoordstr);
console.log('new num: ' + newcoordstr);
}
因此,从中增加或减去.00000001。你有什么问题?你尝试了什么? – epascarello
请阅读[问]。重要短语:“搜索和研究”和“解释......阻止你自己解决它的任何困难”。 –
问题已编辑 - 关于动态浮动长度。道歉。 Eeesh。 – andehlu