2013-05-14 478 views
8

我需要一个JavaScript函数将CM转换为IN。我一直在使用下列内容:。将厘米转换为英寸

function toFeet(n) { 
    var realFeet = ((n*0.393700)/12); 
    var feet = Math.floor(realFeet); 
    var inches = Math.round((realFeet - feet) * 12); 
    return feet + "′" + inches + '″'; 
} 

美中不足的是它转换成百厘米3'3" 我只经营CM(澳大利亚),但是从转换点检查看来这是错误的

有什么建议?

+3

这是正确的。 – 2013-05-14 11:00:39

+1

3'3“表示3英尺和3英寸,这是正确的。 – Aioros 2013-05-14 11:00:44

+0

这可能有帮助:: http://www.javascriptkit.com/script/script2/inchconvert.shtml – 2013-05-14 11:00:46

回答

2

你的代码是正确的,并给出正确的结果。

我要改变它以下面的方式,所以我相信我不会使用该转换的大致数量会失去精度,这可能是在你的情况下无用,但有时可能会进入播放(例如计算地图上的距离)。

var realFeet = n/30.48; // = 12 * 2.54 
+0

一般来说关闭这个问题,精度造成的损失通过近似这个数字是无关紧要的,相比你在用ft'in显示数字时的精确损失“反正。无论如何(甚至可能是英尺),您不会在地图上测量距离,但更可能是以码或英里为单位。 – Christoph 2017-03-13 18:33:13

+0

你可能适合所有的实际目的。但是,如果我接近转换参数中的第5位数字,并且我转换了10000英里这样的数据,我可能会错误1英里左右。 – 2017-03-17 13:58:23