簡體   English   中英

如何在Javascript中將一個字符串拆分為兩個浮點數?

[英]How can I split a string into two float numbers in Javascript?

function xyDistance(from,to){
var s=from.split(",");
var x1=parseFloat(s[0]);
 var y1=parseFloat(s[1]);


 var dt = Math.sqrt( (x2-x1)**2+(y2-y1)**2);
 return dt;
}

我將輸入兩個坐標作為字符串。 我已經把它們分開了,但我不知道如何分開兩點的 X 和 Y 坐標。照片顯示了輸入值和預期的 output 值。 在此處輸入圖像描述

對於每個fromto ,您只需將其拆分並 parseInt

 function xyDistance(from, to) { var [x1, y1] = from.split(",").map(axis => parseInt(axis, 10)); var [x2, y2] = to.split(",").map(axis => parseInt(axis, 10)); var dt = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); return dt; } console.log(xyDistance('1,1', '0,0'))

我不確定您的算法應該做什么,但是要獲得兩者的 x,y 坐標,只需對每個參數進行拆分。 而且,僅供參考,JavaScript 中的所有數字都是浮點數(除非將它們格式化為整數,否則不會以小數顯示)。

 function xyDistance(from,to){ var f = from.split(","); var x1 = parseFloat(f[0]); var y1 = parseFloat(f[1]); var t = to.split(","); var x2 = parseFloat(t[0]); var y2 = parseFloat(t[1]); console.log("from x,y are: " + x1 + ", " + y1); console.log("to x,y are: " + x2 + ", " + y2); } xyDistance("1,1","0,0"); xyDistance("1,1","-1,-1");

 function xyDistance(from,to){ const [x1, y1] = from.split(","); const [x2, y2] = to.split(","); const dt = Math.sqrt((x2-x1)**2+(y2-y1)**2); return dt; } console.log(xyDistance("2,1", "0,1"))

試試上面的代碼,不需要解析浮點數

您可以拆分值並將相同索引的增量作為Math.hypot的值。

 function xyDistance(from, to) { const f = from.split(','); t = to.split(','); return Math.hypot(f[0] - t[0], f[1] - t[1]); } console.log(xyDistance("1,1", "0,0")); console.log(xyDistance("1,1", "-1,-1"));

此代碼將起作用

function xyDistance(from,to){
var f=from.split(",");
var fx=parseFloat(f[0]);
var fy=parseFloat(f[1]);

var t=to.split(",");
var tx=parseFloat(t[0]);
var ty=parseFloat(t[1]);


 var dt = Math.sqrt( (fx-tx)**2+(fy-ty)**2);
 return dt;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM