[英]How can I split a string into two float numbers in Javascript?
對於每個from
, to
,您只需將其拆分並 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.