Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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 更改浮点的最后一位_Javascript - Fatal编程技术网

Javascript 更改浮点的最后一位

Javascript 更改浮点的最后一位,javascript,Javascript,我有一堆geojson数据,其中可能的点是完全相同的 30.9694313 我将如何隔离最后一个数字,并在30.9694314或30.9694312上随机递增或递减它 我想我可以加或减0.0000001,但是在动态浮点长度的情况下如何处理这个问题呢?一种方法是获取浮点的字符串表示形式,然后将最后一个数字解析为整数。然后,您可以递增/递减它,将它添加回字符串的子字符串以替换旧的最后一个数字,并将其作为浮点进行解析。我不确定这是否是最有效的方法,但这是我第一个想到的 编辑:帮助您的一些方法(指向MD

我有一堆geojson数据,其中可能的点是完全相同的

30.9694313

我将如何隔离最后一个数字,并在30.9694314或30.9694312上随机递增或递减它


我想我可以加或减0.0000001,但是在动态浮点长度的情况下如何处理这个问题呢?

一种方法是获取浮点的字符串表示形式,然后将最后一个数字解析为整数。然后,您可以递增/递减它,将它添加回字符串的子字符串以替换旧的最后一个数字,并将其作为浮点进行解析。我不确定这是否是最有效的方法,但这是我第一个想到的

编辑:帮助您的一些方法(指向MDN的链接)


谢谢你们的帮助。这就是我想到的。我想可能会有一个更干净的方法,但这似乎对我有用。谢谢你让我走上正轨

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。你有什么问题?你尝试了什么?请阅读。关键短语:“搜索、研究”和“解释……任何阻碍您自己解决问题的困难”。问题已编辑-关于动态浮动长度。道歉。你说的“动态浮动长度”是什么意思?您真的想翻转一点,而不是更改十进制表示法吗?将其转换为字符串,按十进制进行拆分,然后计算长度。如果这样做,您可以使用str.charAt(str.length)获得字符串的最后一位数字,但我相信您已经知道:-)